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
1
10k
アクセシビリティ_株式会社ニジボックス Katsuhito Karube
リクルートグループ主催!『大規模メディアにおけるWeb開発の最前線』
https://business-and-creative.connpass.com/event/188628/
株式会社NIJIBOX
December 18, 2020
Tweet
Share
More Decks by 株式会社NIJIBOX
See All by 株式会社NIJIBOX
Tableau トレーニング【株式会社ニジボックス】
nbkouhou
0
33k
Adobe Analytics勉強会の種類とレベル分け【株式会社ニジボックス】
nbkouhou
0
75
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
33k
[Adobe Analytics]主な役割と必要な知識【株式会社ニジボックス】
nbkouhou
0
70
SQL初級中級_トレーニング【株式会社ニジボックス】
nbkouhou
0
33k
モダンWebパフォーマンス2020_株式会社ニジボックス Yuki Irisawa
nbkouhou
9
14k
SUUMOでのパフォーマンス_株式会社ニジボックス Satoshi Arai
nbkouhou
1
9.6k
非機能要件を文化に _株式会社ニジボックス Yosuke Furukawa
nbkouhou
0
400
カスタマージャーニーマップを共通言語に、UXリサーチをアウトプットにつなげたい話_Qrio株式会社 神谷 郁
nbkouhou
0
2.5k
Other Decks in Programming
See All in Programming
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1.1k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
400
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
430
15年目のiOSアプリを1から作り直す技術
teakun
0
500
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
160
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
300
並行開発のためのコードレビュー
miyukiw
2
2k
浮動小数の比較について
kishikawakatsumi
0
340
AI活用のコスパを最大化する方法
ochtum
0
110
Python’s True Superpower
hynek
0
190
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
7
1.2k
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
370
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
350
BBQ
matthewcrist
89
10k
Building Applications with DynamoDB
mza
96
6.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
160
How to build a perfect <img>
jonoalderson
1
5.2k
Six Lessons from altMBA
skipperchong
29
4.2k
The SEO identity crisis: Don't let AI make you average
varn
0
400
Building the Perfect Custom Keyboard
takai
2
700
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
時間が増えたおかげで 人力が必要な部分に注力
終わりに
作業者的なエンジニアではなく 開発メンバーの一人として取り組める
ご清聴ありがとうございました