僕はiOSアプリ開発に長年関わってきましたが、改めてモバイルアプリのアクセシビリティについて勉強しています。そのことについて書いてみます。
ゆめみとアクセシビリティ
ゆめみでアクセシビリティ推進をするグループが結成されました。
記事にも書かれているとおり、このタスクフォースのメンバーたちは既に読書会や勉強会をいくつも実施しています。僕自身はタスクフォースのメンバーというわけではないのですが、勉強のため読書会に参加しています。
最近、「モバイルアプリアクセシビリティ入門」読書会が始まりました。サブセクションひとつぶんを、30分黙読、30分意見交換、というスタイルで毎週実施していて、昨日第3回が終わりました。半年くらいかけてじっくり読んでいきます。
アクセシビリティとは
「アクセシビリティ」という言葉の意味は、「利用可能な状況の幅広さ」です。「まず利用自体は可能である」というラインをどれだけ幅広く達成できているか、を考えるための言葉です。
似た言葉に「ユーザビリティ」があります。こちらはいわゆる「使いやすさ」です。このふたつの言葉の意味を表現した図を上述の本から引用します。
縦方向がユーザビリティで、ある状況において使いやすいかどうかを示します。横方向がアクセシビリティで、利用自体が可能な状況の幅広さを示します。
どちらも大事な概念であり、両者には密接な関係があります。
モバイルアプリ開発とアクセシビリティ
実は、モバイルアプリ開発をしていくなかで、自然にやっていることがアクセシビリティ向上につながっています。
- 標準コンポーネントの利用
- 複数デバイス対応
- デバイスサイズの違い
- タブレットなどの対応
さらには、対応する意識や工数は必要にはなりますが、それ以上の取り組みも実際やることが多いです。
- フォントサイズ可変対応
- ダークモード対応
- 音声読み上げ対応(VoiceOver / Talkback)
では、モバイルアプリ開発者はアクセシビリティに詳しいのでしょうか。既に分かっているので、モバイルアプリ開発者はそんなに勉強しなくていいのでしょうか。
必ずしもそうとはいえません。
ひとつひとつの対応や機能をとってみれば、知識として知っていたり、実際に取り組んだ経験があったりします。しかし、アクセシビリティ全体の知識としては、意外と把握できていなくて抜けていたりします。
これは僕自身がそうだという話です。前述したようなアクセシビリティ対応は、実際に開発プロジェクトでの経験があります。しかし、アクセシビリティ全体の知識としては抜けがあるなと最近感じています。そのため、前述の「モバイルアプリアクセシビリティ入門」を読むなど勉強していくことにしました。
医学モデルと社会モデル
障害者や高齢者にとっては、利用するものがアクセシブルであるかどうかは、生活に直結する重要な問題です。
一方で、障害者や高齢者のためだけの取り組みではありません。そうでない人にとっても、誰にでも「利用できない」という状況は起こりえます。加齢による衰えや、アクシデントによる障害が考えられます。
これはよく聞く話ではあるのですが、ここでちょっとした違和感がありました。
その考え方だと、うっかりすると次のような発想になります。なるほど、自分にもいつかはアクセシビリティが重要になるだろう。今の自分には重要ではないけれど。その発想だと、アクセシビリティを気にかけているようでいながら、結局はなんだか他人事のようになっています。正直、僕にもそんな気持ちがありました。
そんな発想は、障害はそれぞれの人の身体の問題だという考え方からきています。
障害には医学モデルと社会モデルという考え方があります。
- 医学モデル
- 障害は人の身体側にある
- 社会モデル
- 障害は社会の側にある
- 社会や環境が対応できていないがゆえに障害が生じている
どちらも大事な考え方ですが、アクセシビリティを考えるうえでは、社会モデルで考えます。
もはや、モバイルアプリは社会の一部です。モバイルアプリのユーザーは非常に多くなっています。利用時間も長く、繰り返し継続的に利用して、生活の一部になっています。
そのため、モバイルアプリは社会モデルにおいて、障害を発生させてしまう側に属しています。この考え方でいけば、モバイルアプリ開発者は、開発するモバイルアプリが障害を生じないよう考えるべき立場にいるのです。
この考え方のほうが、僕にとっては、アクセシビリティ対応と素直に向き合うことができます。
さまざまなアクセシビリティ
前述の、フォントサイズ可変対応、ダークモード対応、音声読み上げ対応などは、主に次の障害を想定しています。
- ロービジョン(弱視)
- 色覚特性(色弱)
- 全盲
僕もこれらを思い浮かべることが多かったのですが、実は考えるべき障害はほかにもあります。
上肢障害
腕・手・指が動かしにくいという障害です。この場合、スマートフォンのタッチ操作が困難です。
そのため、キーボード、マウス、スイッチなどでの操作を考慮する必要が出てきます。これらの操作を想定できているアプリは、現状それほど多くなさそうです。意識できるとより良い対応ができそうです。
聴覚障害
音が聞こえにくいという障害です。この場合、通知音を聞くのが困難などの影響があります。
画面の点滅や、振動による触覚フィードバックで通知すると良いです。これらは、聴覚障害がない人に対してもユーザビリティ向上という意味でプラスになります。
認知・学習障害
精神障害もモバイルアプリを扱ううえで影響が大きいです。特に、認知・学習障害は課題になりやすいです。
- 情報を一時的に記憶する必要にせまられる操作が難しい
- 画面上の情報を把握するのに時間がかかる
- 無関係な要素に気を取られて注意が散漫になる
対応としてこれをやれば良い、とは一概には言えません。一方で、各種のアクセシビリティ機能によるサポートを整えていくと総合的に対応になりえます。
勉強のすすめ
どう勉強していくべきか、個人的なおすすめを述べてまとめとします。
まずは、アクセシビリティに関する本などを読むのがおすすめです。アクセシビリティ対応では個別の対応技術に目が向かいがちですが、全体を俯瞰する視点を身につけると良いです。
また、自分でアクセシビリティ機能を常用してみると、自分ごととして考えやすくなります。個人的に、iOSの次の機能は常用しています。アプリのUI表示が変わってしまいますが、気づきを得やすくなります。
- 「カラー以外で区別」
- 「オン/オフラベル」
- 「ボタンの形の表示」
補足
この記事は、昨日開催されたYUMEMI.grow Mobileに登壇して話した内容を記事の形に再編したものです。