Salesforce Lightning Design System のアクセシビリティガイドラインを読んでみる
おはようございます、co-meetingの町田です。
Web開発をしていると、アクセシビリティという言葉は目にするのですが、概要をしっかりと読み込むことがこれまでありませんでした。
HTMLの書き方に沿ってなんとなく aria や role を使っているレベルです。
ということで、この記事の目標は、アクセシビリティの概要を知り、Salesforce Lightning Design System(以後SLDS)のアクセシビリティガイドラインを使えるようになることです。
以下目次です。
アクセシビリティのことは大体わかってる方は「SLDSのアクセシビリティガイドライン」から読み始めてください。
まずは、アクセシビリティについて確認してみましょう。
Webにおけるアクセシビリティ (Accessibility) とは?
政府広報の解説記事がございますのでご確認ください。こちらの記事を参照していただくと全容がつかめると思います。
ウェブアクセシビリティとは? 分かりやすくゼロから解説! | 政府広報オンライン
上記の記事を読めばそれなりに分かるのですが、私なりに気になったことを調べてみました。
アクセシビリティ(Accessibility)の意味
私は、アクセシビリティ(Accessibility)という単語を見たとき、アクセスしやすさ、使いやすさ的な意味だと思いました。
しかし、Webで使われる場合、障害のある人も使えるようにする、という文脈で使われることが多く、認識と差がありました。
そこで、まずは英語辞書の説明を見てみることにしました。以下説明を引用しています。
この説明だけだと微妙なニュアンスですが、なんとなく間口の広さを表す単語なのだろうと思いました。
意味が似ている単語として、ユーザビリティがあります。2つの単語を比較すると解釈しやすかったです。
私なりに、それぞれを説明すると
ユーザビリティは、使いやすいと思っているか、の度合いを意味することに対して、
アクセシビリティは、使える人の多さ、の度合いを意味しています。
となります。
「Webアクセシビリティ対応」ってなんだろう?
前述してきたように、アクセシビリティはすべての人が対象となるはずです。
しかし、Webアクセシビリティ対応は、対象が障害を持つ人に限定されがちです。
これは、W3CのWebアクセシビリティの定義が以下のように定められているためだと思われます。
ただ、Web アクセシビリティ入門 | Web アクセシビリティ イニシアティブ (WAI) | W3C を続けて読むと、
私はこの文章から、「Webアクセシビリティ対応」は、Webを障害を持つ人が使えるようにすることで、Webを使うすべての人に利益をもたらすための取り組み、と解釈しました。
Webアクセシビリティの具体的な取り組み方
あと気になることとしては、どのように実現していくのか、です。これはW3Cの以下のページに記載されています。
Accessibility Fundamentals Overview | Web Accessibility Initiative (WAI) | W3C
Webアクセシビリティを実現するための考え方などです。
WCAG 2 Overview | Web Accessibility Initiative (WAI) | W3C
Webコンテンツ作成する際の具体的なガイドラインです。
ここまでで、私としては、Web開発におけるアクセシビリティ (Accessibility) の概要は掴めました感じがします。
まとめ: Webにおけるアクセシビリティ (Accessibility) とは?
私なりのまとめとなります。
アクセシビリティは、障害のある人を含めすべての人に対する使える人のの多さ、の度合いを意味します。
Webアクセシビリティは、W3Cが「Web アクセシビリティとは、Web サイト、ツール、テクノロジが障害を持つ人々が使用できるように設計および開発されていることを意味します。」と定めた言葉であること。
ただし、「Webアクセシビリティ対応」は、障害を持つ人が使えるようにすることで、Webを使うすべての人に利益をもたらすための取り組みであること。
続いて、SLDSのアクセシビリティガイドラインを見ていきます。
Salesforce Lightning Design System のアクセシビリティガイドライン
SLDSのアクセシビリティガイドラインを見てみます。
Accessibility Overview - Lightning Design System
まずはSLDSのアクセシビリティは何を目指しているのかを確認します。
SLDSのアクセシビリティが目指すもの
SLDSは、マウス、タッチスクリーン、キーボード、スクリーンリーダーを使うすべてのユーザーへ一貫したユーザーエクスペリエンスを提供することを目指しています。
以下がAccessibility > Guidelines > Web Design からの引用です。
続いて、これを達成するために必要な要素を確認してみましょう。
SLDSの目指すアクセシビリティに必要な要素
SLDSには、7つの要素が挙げられています。
以下、Accessibility > Overview からの引用です。
以上が必要な要素です。
最後にこの必要な要素を具体的に達成するためのガイドラインを見てみます。
SLDSの目指すアクセシビリティを達成するためのガイドライン
そして、具体的に達成するガイドラインが Guildelines, Pattens 等にまとめられています。こちらのガイドラインには、スクショ含む具体的な対応例が記載されています。
Accessible Web Design Guidelines - Lightning Design System
あとがき
アクセシビリティという言葉が、障害者に向けたもので使われる事が多く、違和感を持っていました。
この違和感を払拭できたのはとてもスッキリしました。
また、Webアクセシビリティは、これ自体が名詞になっているのだと初めて知りました。
また、WCAGを見ると、Web開発におけるアクセシビリティは、コンポーネントの端々で対応するのは不十分。プロジェクト自体の方針を固めてしっかりと対応していく必要があるんだな、と感じました。
ただ、端々での対応では不十分とはいえ、正しいHTML構造でのコーディングはやればやるだけ良い影響がありそうなので、日々やっていこうという気持ちになりました。