Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automating a11y checks
Search
Sobolev Nikita
September 25, 2019
Programming
0
96
Automating a11y checks
Sobolev Nikita
September 25, 2019
Tweet
Share
More Decks by Sobolev Nikita
See All by Sobolev Nikita
PythoNN – Александр Гончаров
sobolevn
0
48
PythoNN – Андрей Пронин
sobolevn
0
92
PythoNN: Василий Рябов – "Парсинг бинарных данных с помощью ctypes, или пишем на питоне как на Си"
sobolevn
0
200
GitHub Planet - OpenSource
sobolevn
0
230
Polymorphism and Typeclasses
sobolevn
2
130
New GitHub Features
sobolevn
0
61
Problems of static analysis in Python
sobolevn
0
120
Announcing typed-linter
sobolevn
0
220
About GitHub Stars
sobolevn
0
180
Other Decks in Programming
See All in Programming
WebDriver BiDiとは何なのか
yotahada3
1
140
Immutable ActiveRecord
megane42
0
140
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
Lottieアニメーションをカスタマイズしてみた
tahia910
0
130
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
楽しく向き合う例外対応
okutsu
0
110
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
2
440
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
6
4k
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
Software Architecture
hschwentner
6
2.1k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.5k
Practical Orchestrator
shlominoach
186
10k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Code Review Best Practice
trishagee
67
18k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Transcript
X Никита Соболев github.com/sobolevn
>_ X Автоматизируем проверку доступности 2
Доступность? 3
99.9% 4
99.99% 5
99.999% 6
Что проверяем? 7
Что проверяем? > Наш сервис – работает! 7
Что проверяем? > Наш сервис – работает! > Наш сервис
работает правильно 7
Что проверяем? > Наш сервис – работает! > Наш сервис
работает правильно > Наш сервис работает быстро 7
Что проверяем? > Наш сервис – работает! > Наш сервис
работает правильно > Наш сервис работает быстро > Наш сервис работает везде 7
SRE 8
9
9
9
10
Наш сервис работает для всех 11
>_ X Автоматически! 12
500 13
Тесты 14
Медленно 15
Мониторинг производительности 16
Неудобно 17
None
None
None
UX 21
>_ X Есть специфика 22
Мы живем в идеальном мире 23
Мы живем в идеальном мире 23
Мы живем в не идеальном мире 24
Многие не могут воспользоваться вашим сервисом по многим причинам! 25
Не все люди обладают (и хотят обладать) современной техникой 26
Пост Цифровой Мир 27
История про самокат 28
29
Нужно думать головой 30
Не все люди знают язык вашего сервиса 31
i18n / l10n 32
Что проверяем? 33
Что проверяем? > Должны быть возможность выбора языка 33
Что проверяем? > Должны быть возможность выбора языка > Онлайн
переводчики должны работать 33
Что проверяем? > Должны быть возможность выбора языка > Онлайн
переводчики должны работать > Письмо: слева направо / справа налево 33
Что проверяем? > Должны быть возможность выбора языка > Онлайн
переводчики должны работать > Письмо: слева направо / справа налево > Форматы чисел, дат, времени 33
https://github.com/ w3c/i18n-tests 34
Не везде быстрое интернет соединение 35
> Next billion users 36
https://github.com/ ai/size-limit 37
None
"Slow connection" mode 39
None
None
None
None
None
Некоторые люди выключают js 43
"Disabled JS" mode 44
Selenium: --disable-javascript 45
None
None
Есть люди с особыми потребностями 47
48
49
Можно сделать лучше 50
Можно сделать лучше > https://github.com/YozhikM/ stylelint-a11y 50
Можно сделать лучше > https://github.com/YozhikM/ stylelint-a11y > https://github.com/ierhyna/ stylelint-no-indistinguishable- colors
50
Можно сделать лучше > https://github.com/YozhikM/ stylelint-a11y > https://github.com/ierhyna/ stylelint-no-indistinguishable- colors
> https://github.com/kristerkari/ stylelint-high-performance- animation 50
Попробуйте заказать 51
Вы не сможете! 52
Вы не сможете! > Навигация не размечена aria и role
52
Вы не сможете! > Навигация не размечена aria и role
> Везде убраны outline 52
Вы не сможете! > Навигация не размечена aria и role
> Везде убраны outline > У картинок нет подписей 52
Вы не сможете! > Навигация не размечена aria и role
> Везде убраны outline > У картинок нет подписей > События без клавиатуры 52
Есть линтеры 53
Есть линтеры > https://github.com/maranran/ eslint-plugin-vue-a11y 53
Есть линтеры > https://github.com/maranran/ eslint-plugin-vue-a11y > https://www.npmjs.com/package/ eslint-plugin-jsx-a11y 53
Есть плагины для тестов 54
Есть плагины для тестов > https://github.com/nickcolley/ jest-axe 54
Есть плагины для тестов > https://github.com/nickcolley/ jest-axe > https://github.com/helen-dikareva/ axe-testcafe
54
Полноценные решения 55
Полноценные решения > https://github.com/webhintio/hint 55
None
None
Полноценные решения > https://github.com/webhintio/hint > https://github.com/pa11y/pa11y 57
pa11y('http://example.com/', { actions: [ 'set field #username to exampleUser', 'set
field #password to password1234', 'click element #submit', 'wait for path to be /myaccount', ] }) 58
Аудиты! 59
>_ X В завершении 60
Вы хотите, чтобы ваши сервисы работали всегда. 61
Так сделайте их доступными для всех! 62
https://github.com/ wemake-services/ wemake-vue-template 63
tlg.name/ opensource_findings 64
Вопросы? github.com/sobolevn sobolevn.me 65