feat(a11y): GlobalSearch aria-label + theme button aria-expanded (MAPPS-314) #344
No reviewers
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
psa-systems/mokosh-apps!344
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/MAPPS-314-a11y-polish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
QA accessibility pass surfaced three gaps. The first -
aria-requiredon the shared form controls - already shipped (see Input/Select/Textarea
in
crate::components::form). This commit covers the remaining two.GlobalSearch label:
label: ""to the sharedInput,relying on the placeholder. Placeholders disappear once typing
begins; screen-reader users had nothing to announce after focus.
Inputwith an optionalaria_labelprop. When set, theunderlying
<input>carriesaria-label; when empty, behaviour isunchanged (the visible
<label for>keeps doing the work forevery other call site).
GlobalSearchpassesaria_label: "Search tickets, contacts, companies, assets, projects".ThemePickerButton dialog semantics:
aria-label: "Theme and appearance"but no
aria-expandedmirroring the modal's open signal and noaria-haspopup, so assistive tech could not tell it is a dialogopener.
aria_expanded: open()andaria_haspopup: "dialog"on thebutton. The Modal it opens is already focus-trapped, so "dialog"
is honest.
#MAPPS-314