[CI/a11y] Add automated heading-hierarchy / axe-core check to site_lint.yml
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- JavaScript
- Estrelas
- 11.8k
- Forks
- 7.9k
- Merge médio
- 1d 11h
- PRs com merge (30d)
- 11
Descrição
Currently, accessibility regressions related to heading structure (such as skipping heading levels or incorrect hierarchy order) are not caught automatically by CI during PR checks.
Recently, a heading level skip issue was identified and resolved manually ([link to your PR here]). Integrating an automated accessibility auditor into our CI pipeline would prevent similar regressions from slipping through in the future.
Proposed Solution
- Add an automated accessibility testing tool (such as axe-core, @axe-core/playwright, or an equivalent linting rule/script) to the site_lint.yml GitHub Actions workflow.
- Ensure the check specifically validates heading-order hierarchy rules (e.g., preventing skips like H1 → H3).
Additional Context
-
Discussed as a side note in PR https://github.com/reactjs/react.dev/pull/8607#pullrequestreview-4955873812.
-
Tooling suggestion: axe-core / eslint-plugin-jsx-a11y or a post-build HTML scan step in CI.
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece lendo o workflow do GitHub Actions site_lint.yml e a discussão sobre a ordem dos títulos em PR 8607. Determine como uma verificação com axe-core, @axe-core/playwright, eslint-plugin-jsx-a11y ou uma verificação de HTML pós-build se encaixa no workflow existente e, em seguida, verifique se o CI detecta níveis de título ignorados, como H1 → H3.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- github-actions, javascript
- Domínio
- accessibility, ci-cd, tooling
- Tipo de issue
- Funcionalidade
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 64/100