Axe: ARIA
User guide
- Getting Started
Api
Concepts
Configurations
Configuring webhint
Connectors
Development flow integration
Extensions
Formatters
Hints
- Avoid CSS limits
- Avoid HTTP redirects
- axe accessibility check
- Babel configuration hint set
- Compatibility of CSS, HTML and JavaScript features
- Correct `Content-Type` header
- Correct manifest extension
- Correct viewport
- Detect CSS Reflows
- Disallowed HTTP headers
- External links disown opener
- Has web app manifest
- Highest document mode
- HTTP cache
- Leading '.' in `classList.add` or `classList.remove`
- Manifest has name
- Minify JavaScript
- Modern DOCTYPE
- No `createElement` with SVG
- No `P3P` headers
- No broken links
- No byte-order mark
- No Inline CSS Styles
- No protocol-relative URLs
- No small error pages
- No vulnerable libraries
- Nu HTML test
- Optimal compression
- Optimize images
- Performance budget
- Prefixed CSS first
- scoped-svg-styles
- Specify button type
- SSL server test
- TypeScript configuration hints set
- Unneeded HTTP headers
- Use `Strict-Transport-Security` header
- Use `X-Content-Type-Options` header
- Use Apple touch icon
- Use charset `utf-8`
- Use HTTPS
- Use subresource integrity
- Valid `Set-Cookie` header
- Valid `theme-color`
- Valid manifest
- webpack configuration hints set
Parsers
Server configurations
Troubleshoot
- Api
- Concepts
- Configurations
- Configuring webhint
- Connectors
- Development flow integration
- Extensions
- Formatters
- Hints
- Parsers
- Server configurations
- Troubleshoot
Axe: ARIA (aria
)
axe/aria
contains accessibility rules
from the axe aria category.
See the “Can the hint be configured?” section of
hint-axe
for examples of enabling, disabling, and changing the
severity of individual rules.
Default rules (WCAG 2.1 Level A and Level AA)
- Elements must only use allowed ARIA attributes (aria-allowed-attr)
- ARIA commands must have an accessible name (aria-command-name)
- aria-hidden=’true’ must not be present on the document body (aria-hidden-body)
- ARIA input fields must have an accessible name (aria-input-field-name)
- ARIA meter nodes must have an accessible name (aria-meter-name)
- ARIA progressbar nodes must have an accessible name (aria-progressbar-name)
- Required ARIA attributes must be provided (aria-required-attr)
- Certain ARIA roles must contain particular children (aria-required-children)
- Certain ARIA roles must be contained by particular parents (aria-required-parent)
- aria-roledescription must be on elements with a semantic role (aria-roledescription)
- ARIA roles used must conform to valid values (aria-roles)
- ARIA toggle fields must have an accessible name (aria-toggle-field-name)
- ARIA tooltip nodes must have an accessible name (aria-tooltip-name)
- ARIA attributes must conform to valid names (aria-valid-attr)
- ARIA attributes must conform to valid values (aria-valid-attr-value)
- Table header text must not be empty (empty-table-header)
Additional rules (off by default)
- ARIA role should be appropriate for the element (aria-allowed-role)
- ARIA dialog and alertdialog nodes should have an accessible name (aria-dialog-name)
- “role=text” should have no focusable descendants (aria-text)
- ARIA treeitem nodes should have an accessible name (aria-treeitem-name)
- Elements of role none or presentation should be flagged (presentation-role-conflict)