アクセシビリティ_株式会社ニジボックス Katsuhito Karube
by
株式会社NIJIBOX
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
アクセシビリティ 株式会社ニジボックス 軽部 勝仁
Slide 2
Slide 2 text
自己紹介 会長にしごかれる日々を送っています Next.js, React などモダンな開発現場にいます アクセシビリティは3ヶ月前から
Slide 3
Slide 3 text
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
Slide 4
Slide 4 text
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
Slide 5
Slide 5 text
ウェブアクセシビリティとは ウェブページにある情報や機能の利用しやすさを意味しま す。 引用:https://waic.jp/knowledge/accessibility/ アクセシビリティ → accessibility → a11y と略記されることもある
Slide 6
Slide 6 text
ウェブアクセシビリティとは ウェブページにある情報や機能の利用しやすさを意味しま す。 引用:https://waic.jp/knowledge/accessibility/ とても抽象的
Slide 7
Slide 7 text
具体的には スクリーンリーダーで読み上げても伝わる? カラーコントラストが低くて読みにくくない? ♪ 読みやすい? 読みやすい?
Slide 8
Slide 8 text
アクセシビリティの様々な切り口 目 耳 体 状況 機械
Slide 9
Slide 9 text
アクセシビリティの様々な切り口 目 耳 体 状況 機械 達成基準がある
Slide 10
Slide 10 text
達成基準 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 の内容)
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
アクセシビリティは必要不可欠
Slide 15
Slide 15 text
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
Slide 16
Slide 16 text
送信に失敗しました エラー内容が入ります。エラー内容が入ります。エラー内容が入ります。エ ラー内容が入ります。エラー内容が入ります。 閉じる
Slide 17
Slide 17 text
要件定義 ・最大256文字の動的テキスト ・エラーが起きた時に表示 ・「閉じる」ボタンをクリックすると非表示
Slide 18
Slide 18 text
要件定義 ・最大256文字の動的テキスト ・エラーが起きた時に表示 ・「閉じる」ボタンをクリックすると非表示 本当にこれだけ?
Slide 19
Slide 19 text
アクセシビリティ要件 • role=”alert” をつける • 「閉じる」ボタンが button として認識される • Tab キーで「閉じる」ボタンにフォーカス • 「閉じる」ことが明示される • Enter キーなどでクリックの代替操作ができる • カラーコントラスト
Slide 20
Slide 20 text
アクセシビリティ要件 • role=”alert” をつける • 「閉じる」ボタンが button として認識される • Tab キーで「閉じる」ボタンにフォーカス • 「閉じる」ことが明示される • Enter キーなどでクリックの代替操作ができる • カラーコントラスト 定義されない事が多い
Slide 21
Slide 21 text
アクセシビリティ要件 • role=”alert” をつける • 「閉じる」ボタンが button として認識される • Tab キーで「閉じる」ボタンにフォーカス • 「閉じる」ことが明示される • Enter キーなどでクリックの代替操作ができる • カラーコントラスト エンジニアの裁量
Slide 22
Slide 22 text
非機能要件に いかにこだわれるかが エンジニアの真価
Slide 23
Slide 23 text
アクセシビリティは エンジニアの力量によって 完成度が大きく変わる
Slide 24
Slide 24 text
本日の内容 1. そもそもアクセシビリティとは 2. 開発現場の実情 3. アクセシビリティ改善の取り組み
Slide 25
Slide 25 text
WCAG 適合をチェックするツール ● Lighthouse ● URL を入力して計測するタイプ ● 外部から css を挿入してハイライトするものまで
Slide 26
Slide 26 text
WCAG 適合をチェックするツール ● Lighthouse ● URL を入力して計測するタイプ ● 外部から css を挿入してハイライトするものまで 機械には限界がある
Slide 27
Slide 27 text
送信に失敗しました エラー内容が入ります。エラー内容が入ります。エラー内容が入ります。エ ラー内容が入ります。エラー内容が入ります。 閉じる
Slide 28
Slide 28 text
お名前 送信する メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号 選択してください 都道府県 ︙
Slide 29
Slide 29 text
お名前 送信する あ メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号 選択してください 都道府県 ︙ 形式が正しくありません。 aria-invalid=”true”
Slide 30
Slide 30 text
お名前 送信する メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号 選択してください 都道府県 ︙ <fieldset> でグループ化
Slide 31
Slide 31 text
お名前 送信する メールアドレス お住まいの住所 郵便番号 選択してください 都道府県 ︙ 書類送付先住所 郵便番号 選択してください 都道府県 ︙ の内側に設置されてる?
Slide 32
Slide 32 text
文章の意味 や デザインの意図 マークアップ ← 人の力が必要
Slide 33
Slide 33 text
機械でできることは機械に任せて 人が考えられる時間を増やす
Slide 34
Slide 34 text
Storybook コンポーネントのカタログ
Slide 35
Slide 35 text
storybook-addon-a11y
Slide 36
Slide 36 text
storybook-addon-a11y WCAG 適合をチェックできる
Slide 37
Slide 37 text
使いにくい場面があった
Slide 38
Slide 38 text
storybook-addon-a11y WCAG 適合をチェックできる 全体管理が難しい
Slide 39
Slide 39 text
CLI ツールを作った エラーを報告してくれるようにした
Slide 40
Slide 40 text
自動化して時間が増えた
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
No content
Slide 44
Slide 44 text
No content
Slide 45
Slide 45 text
時間が増えたおかげで 人力が必要な部分に注力
Slide 46
Slide 46 text
終わりに
Slide 47
Slide 47 text
作業者的なエンジニアではなく 開発メンバーの一人として取り組める
Slide 48
Slide 48 text
ご清聴ありがとうございました