-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
a11y: allow to pass axeConfig to baseline unit test #8145
Conversation
size-limit report 📦
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
e2e tests |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #8145 +/- ##
==========================================
- Coverage 95.50% 95.49% -0.01%
==========================================
Files 403 403
Lines 11495 11503 +8
Branches 3807 3812 +5
==========================================
+ Hits 10978 10985 +7
- Misses 517 518 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
👀 Docs deployed
Commit b3881d7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔥🔥🔥
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
♿ 🚀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙏
ps: мерж конфликт
To see actual rules what we are violating
Also, remove the comment that errors should be fixed on ChipsInput side, because most issues are on ChipsInputBase side
3e53dc7
to
b3881d7
Compare
Описание
Изначально целью было в цифрах вывести проблемы с a11y, чтобы можно было видеть прогресс по улучшению a11y с каждым PR.
Идея была тестировать c помощью axe компоненты в playwright.
Эта работа уже была проделана в #5276 (comment).
Исходя из отчёта по результатам большинство ошибок было связано с конфигурацией примера, заданного для e2e тестирования.
У нас уже есть код, который проверяет все компоненты с помощью axe. Недостаток тут в том, что мы иногда отключаем эту проверку, если видим ошибки в a11y и они кажутся ложными и отключаем разом полностью проверку всех правил у компонента.
Так как у нас уже ведеться тестирование с помощью axe в юнит тестах, и проверки в axe во многом идентичны проверка того же axe в playwright (за исключением проверок цвета, а это сильно зависит от используемой темы), то мы решили пока что начать с малого - перестать полностью отключать a11y проверки в компонентах, и если в данный момент какие-то из ошибок поправить нельзя, то точечно выключать правило, чтобы было понятно где ошибка и с чем связана, чтобы потом её решить.
Для части компонентов с проблемами были созданы Issues:
ul
тег по умолчанию нарушает семантику ul>li #8135Изменения
В функцию для юнит тестирования
baselineComponent
был добавлен параметрa11yConfig
, который позволяет задавать конфигуракцию дляaxe
, в том числе точечно отключать правила. Это позволяет не отключать сразу все правила c помощь{a11y: false}
, а только те, которые в данные момент решить не получается и создать для решения issue/pr.Часто для компонентов при проверке
a11y
не хватаетlabel/title
, для этого некоторые тесты были дополнены, чтобыa11y
не ругался, из-за отстутвия необходимый лэйблов для инпута и т.п.title
не задан иlabel/labelledby
не передан.ModalPageHeader
в пример;Alert/ModalPage/ModalCard/ModalCardBase
в документацию добавлены пункты про a11y.Release notes
Изменения
title
,aria-labe
l илиaria-labelledby
не заданы