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
49
Automating a11y checks
Sobolev Nikita
September 25, 2019
Tweet
Share
More Decks by Sobolev Nikita
See All by Sobolev Nikita
PythoNN: Василий Рябов – "Парсинг бинарных данных с помощью ctypes, или пишем на питоне как на Си"
sobolevn
0
65
GitHub Planet - OpenSource
sobolevn
0
150
Polymorphism and Typeclasses
sobolevn
2
95
New GitHub Features
sobolevn
0
31
Problems of static analysis in Python
sobolevn
0
49
Announcing typed-linter
sobolevn
0
180
About GitHub Stars
sobolevn
0
140
Typing Django
sobolevn
0
140
Functional programming for beginners
sobolevn
0
200
Other Decks in Programming
See All in Programming
今の SmartHR にエンジニアで入社するとどうなるの?
daisukeshinoku
1
320
品質が高いコードって何?Rev2.1
ickx
1
490
WinUI 3デモ - "CommunityToolkit.Mvvm"NuGetパッケージ編
andrewkeepcoding
0
130
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
2
220
LPIXEL×CADDi_kaerururu
kaerururu
3
300
Creating Retro-Style Photos Using Swift
ski
1
340
GitHub Copilot Tips and Tricks
yuichielectric
26
7.4k
DDD, necessary but insufficient: physical design principles for microservices
cer
PRO
0
2.2k
OpenTelemetry のサービスという概念について
azukiazusa1
1
390
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.2k
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
150
ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!
kotomin_m
1
300
Featured
See All Featured
Teambox: Starting and Learning
jrom
126
8.4k
Visualization
eitanlees
135
14k
What the flash - Photography Introduction
edds
64
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.8k
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
Six Lessons from altMBA
skipperchong
19
2.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
Building an army of robots
kneath
300
41k
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