Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Automating a11y checks
Search
Sobolev Nikita
September 25, 2019
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Automating a11y checks
Sobolev Nikita
September 25, 2019
More Decks by Sobolev Nikita
See All by Sobolev Nikita
adaptix_slides.pdf
sobolevn
0
14
Зачем программисту Twitch (что?) – Алексей Гладких, PythoNN
sobolevn
0
13
MQTT глазами BE для работы с embedded устройствами – Сергей Макаров, PythoNN
sobolevn
0
10
Я в СКРЫТОМ ПУЛЕ: выстраиваем процессы в команде без тильта – Максим Мельников, PythoNN
sobolevn
0
20
Я твой fastapi msgspec'ом ускорял – Александр Целуйко, PythoNN
sobolevn
0
18
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
100
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
270
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
240
Внутреннее устройство сборки мусора в CPython 3.14+ – Сергей Мирянов, PythoNN
sobolevn
0
150
Other Decks in Programming
See All in Programming
ChromeでローカルLLM
ryu1013
0
190
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
210
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
290
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
510
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
120
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
170
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
350
AI-Powered Domain-Driven Design
ziobrando
0
380
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
280
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
140
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.1k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
30 Presentation Tips
portentint
PRO
1
460
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
390
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Building the Perfect Custom Keyboard
takai
2
940
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
780
Producing Creativity
orderedlist
PRO
348
41k
Designing for humans not robots
tammielis
254
26k
Believing is Seeing
oripsolob
1
260
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
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