@Frontrend Vol9 by masuP9
生放送がログイン不要・高画質で見放題のプラットフォーム
[PR]FRESH!では配信主を募集しています。
本題
運用が続くウェブサービス/サイトで、
アクセシビリティを無理なく高める
にはどうしたら良いのでしょう。
どうしたら良いのでしょう?
FRESH!での取り組みをご紹介します。
1
アクセシビリティチェック
どこからやれば…
👉 とりあえずやれるところから!
おさらいしておきましょう
最初にやったのは
alt
入ってるかなー👉 知覚可能と操作可能の基本
基本かつ、抑えられるとかなり
底上げできる項目だが...
実はこれがすべてできている
ウェブサイトやサービスはかなり少ない
個人の感想です
alt
<Image>
コンポーネント編
<div
class="Image -cover"
style="background-image: url(hoge.jpg)"
>
</div>
.Image.-cover > img {
background-size: cover;
}
1
object-fit
さえ使えれば...案件だった
👉 使おう
.Image.-cover > img {
object-fit: cover;
}
<div class="Image -cover">
<img src="hoge.jpg" alt="huga" />
</div>
アクセシビリティーーーーーーーーー
ただobject-fit
未対応ブラウザは...
<div
class="Image -cover"
style="background-image: url(hoge.jpg)"
role="img"
aria-label="hoge"
>
</div>
WAI-ARIAのお世話に...
で、できるところからだから...
<Menu>
コンポーネント編
<div class="Menu">
<span>Menu</span>
<ul>~~~</ul>
</div>
.Menu:not(:hover) ul {
display: none;
}
キーボードやタッチインターフェースで
どうやってhover
するん?
2
こんな時はやっぱり button
<button type="button" onClick={this.onClick}>Button</button>
button
をclick
なら
キーボードやタップで操作可能に
hover
だけでなくclick
でも操作可能にする
<div className="Menu"
onMouseOver={this.onMouseOver}
onMouseOut={this.onMouseOut}
>
<button className="Menu__button" type="button"
aria-expanded={this.state.isListShow}
onClick={this.onClick}
>Menu</button>
<ul>~~~</ul>
</div>
a
でもいいです。ただしhref
あり
アクセシビリティーーーーーーー
だがしかし
日々続く機能開発
どしどし作られるコンポーネント
ひとりではできない
さらに
そもそもデザインが...
そもそも仕様が...(ry
みんなで目指す指針が必要だ...!!
ガイドラインの作成 / 展開
FRESH!が提供するサービスを対象としたアクセシビリティガイドライン。
コンテンツ制作者、及びUI開発者はガイドラインに沿った制作をすることを強く推奨する
非テキストコンテンツ(画像や動画)には
代替テキストを提供する
なぜWCAGをそのまま使わないのか
ガイドラインについておさらい
Web Contents Accessibility Guidelines
(主に)コンテンツのためのガイドライン
User Agent Accessibility Guidelines
ユーザーエージェントのためのガイドライン
Authoring Tool Accessibility Guidelines
オーサリングツールのためのガイドライン
ATAGの対象
などなど
ATAGの二つの観点
オーサリングツールがテキスト以外のコンテンツを追加する機能を提供する場合、著者はテキスト以外のコンテンツに対してプログラムによって関連付けられた代替テキストを変更できます。
👉 画像アップできるならalt
入れられるようにしとけよ!(意訳)
ドキュメントは書くだけじゃだめ
時間を取ってガイドライン全項目を説明
自分事だと捉えてもらうことが大事
色が、情報を伝える、動作を示す、反応を促す、又は視覚的な要素を判別するための唯一の視覚的手段としない
コンテンツやUI上のテキストやアイコンの視覚的提示に、4.5:1 以上のコントラスト比を設ける。ただし、次の場合は除くが、可能な限りコントラスト比を確保する。
ポインティングのターゲットサイズは、タッチインターフェース向けUIでは 44×44 px 以上を確保する。
コンテンツやUIの全ての機能には、特定のキーストロークのタイミングや複雑なジェスチャを必要としないようにし、必要な場合は単純な操作による代替操作を用意する。
コナミコマンドの禁止 🚫
動きのある、点滅している、スクロールする、又は自動更新する情報は、それらがコンテンツとして必須出ない場合、利用者がそれらを一時停止、停止、非表示にすることができるメカニズムを提供する
アクセシビリティったらアクセシビリティ!
🙅
世の中には目の見えない人もいてね…
🤔
そうだけどそうじゃない
だれにとっても
全社に配信される中途社員紹介メールより
リッチなインターネットアプリケーションを作れる
アクセシビリティおじさんになるためにサイバーエージェントに入社しました。
よろしくお願いします!
自己ブランディング 💪
「自分の会社やチームに
アクセシビリティおじさん
とか言う人が居たな...」
最初は「うるさいやつだな...」
と思われるかもしれませんが
巻き込んだ結果、少しずつ
やさしく粘り強く、負けない気持ちで
アクセシビリティおじさんしていきましょう
ガイドラインは鋭意作成中 💪
完成したら公開予定
社内他サービスへの横展開
他社サービスに真似されたい
ビジネス職にも...
ユーザーが作るコンテンツにも...
生放送動画のリアルタイム字幕生成ェ...
例えばテスト手順中の操作で「クリック」があれば、キーボード操作もテスト
できるところからやっていきましょう 💪
ありがとうございました