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
アクセシビリティ_株式会社ニジボックス Katsuhito Karube
Search
株式会社NIJIBOX
December 18, 2020
Programming
10k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アクセシビリティ_株式会社ニジボックス Katsuhito Karube
リクルートグループ主催!『大規模メディアにおけるWeb開発の最前線』
https://business-and-creative.connpass.com/event/188628/
株式会社NIJIBOX
December 18, 2020
More Decks by 株式会社NIJIBOX
See All by 株式会社NIJIBOX
「使いやすさ」だけでは、「勝てる」サービスにはならない。〜KPIとUXの分断を埋める、サービス戦略という「指針」〜
nbkouhou
3
630
Tableau トレーニング【株式会社ニジボックス】
nbkouhou
0
34k
Adobe Analytics勉強会の種類とレベル分け【株式会社ニジボックス】
nbkouhou
0
230
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
34k
[Adobe Analytics]主な役割と必要な知識【株式会社ニジボックス】
nbkouhou
0
220
SQL初級中級_トレーニング【株式会社ニジボックス】
nbkouhou
0
34k
モダンWebパフォーマンス2020_株式会社ニジボックス Yuki Irisawa
nbkouhou
9
14k
SUUMOでのパフォーマンス_株式会社ニジボックス Satoshi Arai
nbkouhou
1
9.7k
非機能要件を文化に _株式会社ニジボックス Yosuke Furukawa
nbkouhou
0
570
Other Decks in Programming
See All in Programming
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
140
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
140
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
AIの中の人になってみる
htkym
0
170
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
390
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
140
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
420
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
800
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
410
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Transcript
アクセシビリティ 株式会社ニジボックス 軽部 勝仁
自己紹介 会長にしごかれる日々を送っています Next.js, React などモダンな開発現場にいます アクセシビリティは3ヶ月前から
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
ウェブアクセシビリティとは ウェブページにある情報や機能の利用しやすさを意味しま す。 引用:https://waic.jp/knowledge/accessibility/ アクセシビリティ → accessibility → a11y と略記されることもある
ウェブアクセシビリティとは ウェブページにある情報や機能の利用しやすさを意味しま す。 引用:https://waic.jp/knowledge/accessibility/ とても抽象的
具体的には スクリーンリーダーで読み上げても伝わる? カラーコントラストが低くて読みにくくない? ♪ 読みやすい? 読みやすい?
アクセシビリティの様々な切り口 目 耳 体 状況 機械
アクセシビリティの様々な切り口 目 耳 体 状況 機械 達成基準がある
達成基準 WCAG (Web Content Accessibility Guidelines) W3C の Web Accessibility
Initiative (WAI) が勧告 WCAG 2.1 が最新(2.2 の勧告は2021年の予定) 国際的には ISO/IEC 40500:2012 (WCAG 2.0 の内容) 国内では JIS X 8341-3:2016 (WCAG 2.0 の内容)
None
None
None
アクセシビリティは必要不可欠
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
送信に失敗しました エラー内容が入ります。エラー内容が入ります。エラー内容が入ります。エ ラー内容が入ります。エラー内容が入ります。 閉じる
要件定義 ・最大256文字の動的テキスト ・エラーが起きた時に表示 ・「閉じる」ボタンをクリックすると非表示
要件定義 ・最大256文字の動的テキスト ・エラーが起きた時に表示 ・「閉じる」ボタンをクリックすると非表示 本当にこれだけ?
アクセシビリティ要件 • role=”alert” をつける • 「閉じる」ボタンが button として認識される • Tab
キーで「閉じる」ボタンにフォーカス • 「閉じる」ことが明示される • Enter キーなどでクリックの代替操作ができる • カラーコントラスト
アクセシビリティ要件 • role=”alert” をつける • 「閉じる」ボタンが button として認識される • Tab
キーで「閉じる」ボタンにフォーカス • 「閉じる」ことが明示される • Enter キーなどでクリックの代替操作ができる • カラーコントラスト 定義されない事が多い
アクセシビリティ要件 • role=”alert” をつける • 「閉じる」ボタンが button として認識される • Tab
キーで「閉じる」ボタンにフォーカス • 「閉じる」ことが明示される • Enter キーなどでクリックの代替操作ができる • カラーコントラスト エンジニアの裁量
非機能要件に いかにこだわれるかが エンジニアの真価
アクセシビリティは エンジニアの力量によって 完成度が大きく変わる
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
WCAG 適合をチェックするツール • Lighthouse • URL を入力して計測するタイプ • 外部から css
を挿入してハイライトするものまで
WCAG 適合をチェックするツール • Lighthouse • URL を入力して計測するタイプ • 外部から css
を挿入してハイライトするものまで 機械には限界がある
送信に失敗しました エラー内容が入ります。エラー内容が入ります。エラー内容が入ります。エ ラー内容が入ります。エラー内容が入ります。 閉じる
お名前 送信する メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号
選択してください 都道府県 ︙
お名前 送信する あ メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所
郵便番号 選択してください 都道府県 ︙ 形式が正しくありません。 aria-invalid=”true”
お名前 送信する メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号
選択してください 都道府県 ︙ <fieldset> でグループ化
お名前 送信する メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号
選択してください 都道府県 ︙ <form> の内側に設置されてる?
文章の意味 や デザインの意図 マークアップ ← 人の力が必要
機械でできることは機械に任せて 人が考えられる時間を増やす
Storybook コンポーネントのカタログ
storybook-addon-a11y
storybook-addon-a11y WCAG 適合をチェックできる
使いにくい場面があった
storybook-addon-a11y WCAG 適合をチェックできる 全体管理が難しい
CLI ツールを作った エラーを報告してくれるようにした
自動化して時間が増えた
None
None
None
None
時間が増えたおかげで 人力が必要な部分に注力
終わりに
作業者的なエンジニアではなく 開発メンバーの一人として取り組める
ご清聴ありがとうございました