axe-core
https://github.com/dequelabs/axe-core
JavaScript
Accessibility engine for automated Web UI testing
Triage Issues!
When you volunteer to triage issues, you'll receive an email each day with a link to an open issue that needs help in this project. You'll also receive instructions on how to triage issues.
Triage Docs!
Receive a documented method or class from your favorite GitHub repos in your inbox every day. If you're really pro, receive undocumented methods or classes and supercharge your commit history.
JavaScript not yet supported3 Subscribers
Add a CodeTriage badge to axe-core
Help out
- Issues
- label-content-name-mismatch: visible text of adjacent block elements is joined without whitespace
- fix(commons/text/visibleVirtual): separate the text of adjacent block elements
- fix(landmark-is-top-level): allow landmarks inside role=application
- Role none/presentation will no longer allow global ARIA attrs
- Selectors compare HTML attribute values case-sensitively, so rules skip type="BUTTON", http-equiv="Refresh", name="Viewport" and similar
- aria-hidden and aria-modal selectors compare values exactly, so aria-hidden="TRUE" skips aria-hidden-focus and aria-modal="TRUE" is not seen as an open modal
- scope="COL" / scope="ROW" are ignored by Firefox and Safari, but scope-attr-valid passes them and getScope falls back to a layout guess
- abstractrole and fallbackrole read role tokens without lowercasing, so role="WIDGET" passes aria-roles
- Rule selectors match `role` values exactly, so rules skip elements that `getRole` resolves (`role="IMG"`, `role=" img "`)
- fix(utils): match role attribute selectors case-insensitively and trimmed
- Docs
- JavaScript not yet supported