Skip to content

Accessibility and right-to-left layouts - #15

Merged
gdarko merged 1 commit into
mainfrom
feat/a11y-rtl
Sep 23, 2026
Merged

gdarko merged 1 commit into
mainfrom
feat/a11y-rtl

Conversation

@gdarko

@gdarko gdarko commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Brings the module in line with the host's accessibility and RTL work (InvoiceShelf/InvoiceShelf#804).

  • The view switcher's buttons keep their labels for screen readers on phones, where only icons show. axe reported them as unnamed at 390 px.
  • Modal close icons are buttons; row menus name their task or project; colour swatches are named and report which one is chosen; week arrows, status selects and the unbilled checkboxes have names.
  • Task cards open from their title button, so the board works from a keyboard. Moving a task between columns by keyboard stays in the task form's status field.
  • Layout classes are logical (ms-, pe-, text-end, border-e, end-5), so the module mirrors when the host runs in Arabic, Persian, Hebrew or Urdu.
  • eslint-plugin-vuejs-accessibility now runs in pnpm run lint, with the host's rules.

Works on every host in the compatibility range: it only passes props those hosts accept, and older hosts ignore the ones they don't know. No version bump; the release is separate.

- The view switcher keeps its labels for screen readers on phones, where
  only the icons show; its group has a name of its own.
- Modal close icons are buttons, row menus say which task or project they
  act on, colour swatches are named and report which one is chosen, and the
  week arrows, status selects and unbilled checkboxes have names.
- A task card opens from its title button as well as by click, so the board
  works from a keyboard; status changes stay in the task form.
- Layout classes are logical (ms-, pe-, text-end, border-e, end-5), so a
  right-to-left host language mirrors the module with the rest of the app.
- eslint-plugin-vuejs-accessibility runs in pnpm run lint with the host's
  rules, at zero warnings.

Nothing here needs a newer host: the labels ride on props every supported
host accepts, and older hosts ignore the ones they do not know.
@gdarko
gdarko merged commit 60975bd into main Sep 23, 2026
1 check passed
@gdarko
gdarko deleted the feat/a11y-rtl branch September 23, 2026 10:00
@gdarko gdarko mentioned this pull request Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant