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
73
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
33k
[Adobe Analytics]主な役割と必要な知識【株式会社ニジボックス】
nbkouhou
0
69
SQL初級中級_トレーニング【株式会社ニジボックス】
nbkouhou
0
33k
モダンWebパフォーマンス2020_株式会社ニジボックス Yuki Irisawa
nbkouhou
9
14k
SUUMOでのパフォーマンス_株式会社ニジボックス Satoshi Arai
nbkouhou
1
9.5k
非機能要件を文化に _株式会社ニジボックス Yosuke Furukawa
nbkouhou
0
390
カスタマージャーニーマップを共通言語に、UXリサーチをアウトプットにつなげたい話_Qrio株式会社 神谷 郁
nbkouhou
0
2.5k
Other Decks in Programming
See All in Programming
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
130
AI巻き込み型コードレビューのススメ
nealle
2
1.5k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
140
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
390
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
Featured
See All Featured
A better future with KSS
kneath
240
18k
Docker and Python
trallard
47
3.7k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Odyssey Design
rkendrick25
PRO
1
500
Google's AI Overviews - The New Search
badams
0
910
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
79
Designing for Performance
lara
610
70k
A Soul's Torment
seathinner
5
2.3k
Mind Mapping
helmedeiros
PRO
0
90
Paper Plane
katiecoart
PRO
0
46k
How to build a perfect <img>
jonoalderson
1
4.9k
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
時間が増えたおかげで 人力が必要な部分に注力
終わりに
作業者的なエンジニアではなく 開発メンバーの一人として取り組める
ご清聴ありがとうございました