docs/Features/Accessibility/Accessibility.md
WeKan aims to be usable with a keyboard and with assistive technologies such as screen readers, following the WCAG 2.1 AA guidelines.
This page describes:
Admins can publish a custom Accessibility statement / information page.
When enabled:
/accessibility URL.The data is stored in the accessibilitySettings collection with the fields
enabled, title and body. Editing requires admin permission.
These apply to all pages and require no configuration.
:focus-visible), so keyboard
users always know where focus is (WCAG 2.4.7 Focus Visible).<html> element declares its language (lang) and text
direction (dir, ltr or rtl), so screen readers pronounce content correctly
(WCAG 3.1.1). RTL languages such as Arabic and Hebrew are fully supported.role="main" on the content area,role="navigation" on the header quick-access bar,role="search" on the global search form (WCAG 1.3.1).role="dialog" with accessible names;
modals also set aria-modal="true".aria-label),
including the modal/popup close and back buttons, the announcement close button,
the sidebar close/back buttons, and the global search input and clear button
(WCAG 4.1.2 Name, Role, Value).aria-hidden="true" so they are not announced redundantly.alt text; purely decorative images (such as
the avatar image inside a named link) use empty alt.scope="col" and a caption, so rows and columns are announced correctly.role="status" / aria-live="polite", and login errors via an assertive live
region.maximum-scale=5, user-scalable=yes).WeKan also has many keyboard shortcuts. Press ? inside WeKan to see the full
list (screenshot: screenshot-keyboard-shortcuts.png),
and toggle keyboard shortcuts on or off from the board sidebar.
Cross-cutting accessibility guarantees (page language, skip link, landmark roles,
visible focus, dialog roles, accessible names on icon controls, and absence of
duplicate element ids) are covered by the end-to-end test suite in
tests/playwright/specs/19-accessibility.e2e.js.
If you find an accessibility problem, please open an issue describing the page, the assistive technology / browser used, and what was expected.