-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
a11y: Improve accessibility of dropdown menus #8638
Commits on Oct 22, 2019
-
Configuration menu - View commit details
-
Copy full SHA for fe4d766 - Browse repository at this point
Copy the full SHA fe4d766View commit details
Commits on Oct 23, 2019
-
js: Set tabindex=-1 on dropdown items
Setting tabindex=-1 on focusable elements within dropdown menus allows the user to treat dropdown menus as a single focusable item with its own internal navigation using arrow keys.
Configuration menu - View commit details
-
Copy full SHA for 0f14862 - Browse repository at this point
Copy the full SHA 0f14862View commit details -
js: Don't use jQuery to click menu items
Menu items are often <a> elements, which jQuery refuses to trigger click events on. Instead it just bubbles up to the menu. Using HTMLElement's click method fixes this and makes menu items clickable from the keyboard using dropdown menus.
Configuration menu - View commit details
-
Copy full SHA for 96f24ca - Browse repository at this point
Copy the full SHA 96f24caView commit details -
js: Set correct ARIA 1.1 roles on dropdown menus
Setting role= makes assistive technology aware there is a widget here. In this case, Orca will now exit browse mode and allow us to capture keydown events when focused on a dropdown menu. It will also inform the user that there's a menu focused. Since dropdowns can be used in multiple elements each with different ARIA roles, a guessRole method is used to find the correct role. All roles I consider possible are listed, but only menu is implemented.
Configuration menu - View commit details
-
Copy full SHA for 2c0b99b - Browse repository at this point
Copy the full SHA 2c0b99bView commit details -
js: Set aria-expanded when dropdown menus show and hide
This is deliberately done before the transition finishes so that screen readers get immediate feedback.
Configuration menu - View commit details
-
Copy full SHA for 8681f61 - Browse repository at this point
Copy the full SHA 8681f61View commit details -
js: Set aria-label or aria-labelledby on dropdown menus
This makes dropdown menu buttons screen reader accessible. aria-labelledby refers to an element using an ID, so the chosen labels are now assigned a unique ID- This ID is not stable, do not refer to it with user scripts.
Configuration menu - View commit details
-
Copy full SHA for 1e5f8f1 - Browse repository at this point
Copy the full SHA 1e5f8f1View commit details -
js: Set aria-activedescendant on dropdown menus
As the menus grab focus and navigate by tracking a 'selected' div class, assistive technology has no idea that what the current selection is. Assign IDs to each menu item and set aria-activedescendant to the ID of the currently selected menu item. When the menu is unfocused, remove aria-activedescendant- This isn't neccessary but in my experience it triggers Orca to remind the user of their current selection when re-focusing the menu.
Configuration menu - View commit details
-
Copy full SHA for a26f7fd - Browse repository at this point
Copy the full SHA a26f7fdView commit details -
Makefile: Make eslint ignore semantic.dropdown.js
This file is taken from Semantic UI which isn't linted upstream. Ignore it as we won't fix these issues.
Configuration menu - View commit details
-
Copy full SHA for 03984cd - Browse repository at this point
Copy the full SHA 03984cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7457106 - Browse repository at this point
Copy the full SHA 7457106View commit details
Commits on Oct 28, 2019
-
Configuration menu - View commit details
-
Copy full SHA for ff52149 - Browse repository at this point
Copy the full SHA ff52149View commit details
Commits on Oct 29, 2019
-
Add Md5 AppVer to templates/base/footer.tmpl
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 534c5be - Browse repository at this point
Copy the full SHA 534c5beView commit details -
Add Md5 AppVer to templates/pwa/serviceworker_js.tmpl
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 98030f1 - Browse repository at this point
Copy the full SHA 98030f1View commit details
Commits on Oct 30, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 8c61b2b - Browse repository at this point
Copy the full SHA 8c61b2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 315181e - Browse repository at this point
Copy the full SHA 315181eView commit details
Commits on Oct 31, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 446e042 - Browse repository at this point
Copy the full SHA 446e042View commit details
Commits on Nov 8, 2019
-
Configuration menu - View commit details
-
Copy full SHA for a9d856e - Browse repository at this point
Copy the full SHA a9d856eView commit details