A11y: Broken ARIA menu #5392

Closed
opened 2026-02-05 10:02:00 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @david-prv on GitHub (Aug 7, 2025).

Describe the Bug

Since Directive (EU) 2019/882 of the European Union, products and services relevant to that directive are required to establish compliance with a set of obligatory accessibility rules. As BookStack is also used as publicly accessible community hubs, sometimes even for governmental purposes, I was interested in its out-of-the-box accessibility features.

While doing that, I noticed, that the dropdown menu is missing the required ARIA menu items. On first sight, this seems to be the only violation I could find. There may be more, however.

The above means, that each menu labelled with role="menu" requires its menu items to be labelled accordingly as well, i.e. role="menutiem", role="menuitemcheckbox" or role="menuitemradio".

Relevant standards and guidelines:

Steps to Reproduce

  1. Go to the startpage
  2. Open the dropdown menu by clicking on your username on the upper right corner
  3. Inspect the code

Alternatively:

  1. Install the "WAVE" browser extension
  2. Enable it while visiting the startpage
  3. Inspect the displayed error

Expected Behaviour

As described above, it should follow the a11y guidelines.

Screenshots or Additional Context

WAVE report:
Image

Browser Details

No response

Exact BookStack Version

v25.05.1

Originally created by @david-prv on GitHub (Aug 7, 2025). ### Describe the Bug Since _[Directive (EU) 2019/882](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32019L0882)_ of the European Union, products and services relevant to that directive are required to establish compliance with a set of obligatory accessibility rules. As BookStack is also used as publicly accessible community hubs, sometimes even for governmental purposes, I was interested in its out-of-the-box accessibility features. While doing that, I noticed, that the dropdown menu is missing the required ARIA menu items. On first sight, this seems to be the only violation I could find. There may be more, however. The above means, that each menu labelled with `role="menu"` requires its menu items to be labelled accordingly as well, i.e. `role="menutiem"`, `role="menuitemcheckbox"` or `role="menuitemradio"`. Relevant standards and guidelines: - [2.1.1 Keyboard (Level A)](https://webaim.org/standards/wcag/checklist#sc2.1.1) - [4.1.2 Name, Role, Value (Level A)](https://webaim.org/standards/wcag/checklist#sc4.1.2) ### Steps to Reproduce 1. Go to the startpage 2. Open the dropdown menu by clicking on your username on the upper right corner 3. Inspect the code Alternatively: 1. Install the "WAVE" browser extension 2. Enable it while visiting the startpage 3. Inspect the displayed error ### Expected Behaviour As described above, it should follow the a11y guidelines. ### Screenshots or Additional Context WAVE report: <img width="368" height="587" alt="Image" src="https://github.com/user-attachments/assets/0cbc3ecc-3b69-42ff-9b8d-9a55a357a6f3" /> ### Browser Details _No response_ ### Exact BookStack Version v25.05.1
OVERLORD added the 🐛 Bug A11y labels 2026-02-05 10:02:00 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Aug 7, 2025):

Thanks for raising @david-prv.
Have targeted for next patch release, and started improvements to review all menus via #5753.

@ssddanbrown commented on GitHub (Aug 7, 2025): Thanks for raising @david-prv. Have targeted for next patch release, and started improvements to review all menus via #5753.
Author
Owner

@ssddanbrown commented on GitHub (Aug 8, 2025):

Improvements for menus now made as of merge of #5753, to be part of next patch.
Thanks again @david-prv!

@ssddanbrown commented on GitHub (Aug 8, 2025): Improvements for menus now made as of merge of #5753, to be part of next patch. Thanks again @david-prv!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#5392