Custom rules and configuration recommendations for the axe-core
library for GitHub projects.
These are the custom rules contained in this package:
aria-attribute-is-valid
autofocus-in-dialog
avoid-both-disabled-and-aria-disabled
empty-summary
menuitem-should-be-interactive
nested-forms
redundant-aria-label-aria-labelledby
submit-reset-button-must-be-in-form
We recommend running axe-core
defaults.
import axe from 'axe-core'
import customRules from '@github/axe-github'
axe.configure(customRules)
axe.run(...)
For the custom rules in this library, their associated check functions are not serializable to a Playwright page. To configure axe, you'll need to load and evaluate configure-browser.ts
within the page context. Axe should be loaded on the page before configuring.
const configSrc = fs.readFileSync(
require.resolve('@github/axe-github/configure-browser'),
'utf8'
)
page.evaluate((configSrc) => {
window.eval(configSrc)
}, configSrc)