Custom rules and configuration recommendations for the `axe-core` library for GitHub projects
npm install @github/axe-githubCustom 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.
``JS
import '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.
`JS
const configSrc = fs.readFileSync(
require.resolve('@github/axe-github/configure-browser'),
'utf8'
)
page.evaluate((configSrc) => {
window.eval(configSrc)
}, configSrc)
``