freeeアクセシビリティー・ガイドラインVer. 202110.0を公開しました

こんにちは、freeeのアクセシビリティー・ガイドラインおじさんの中根です。

基本的に在宅勤務でほとんど外に出掛けず、夏を感じることなく時を過ごした結果、夏休みを取るタイミングを完全に逸してしまったことに気づいた今日この頃、皆さんいかがお過ごしでしょうか。

さて、今回もfreeeアクセシビリティー・ガイドラインの更新情報をお届けします。

前回のリリースからほぼ3カ月もあったということで、実はかなりいろいろと更新しているのですが、特に大きな変更について紹介します。

チェックリストのモバイルアプリ対応

社内からも社外からも、モバイルアプリのアクセシビリティー・チェックってどうすればいいの?という質問をしばしば受けます。

freeeアクセシビリティー・ガイドラインの基になっているWCAGは、元々Webに特化した記述が少なく、モバイルアプリにもそのまま適用できるような内容になっていますので、理論上はモバイルアプリのアクセシビリティー・チェックにも利用できるはずです。 ところが、モバイルアプリのアクセシビリティー・チェックに関する日本語の情報というのは皆無で、僕自身は適当なものに心当たりがありません。

ないなら作れば良いじゃない、ということで作業を始めてから数ヶ月、ようやく形になりました。

最初はモバイルアプリ向けに別のガイドラインやチェックリストを作ることを考えました。 しかし、基本的な考え方は同じなのに複数の文書があるというのは分かりづらいですし、保守も大変なので、既存のガイドラインにモバイルアプリに関する情報を追加する方向で作業を進めました。

以下のような方針でチェックリストの見直しを行いました。

  • チェック内容の本文からWebに特化した記述を切り離し、「実装例」として記述
  • 可能な範囲でiOSやAndroidでの実装のポイントや実装例を追加
  • 各チェック内容に「対象プラットフォーム」という項目を追加して、そのチェックの対象がWeb、モバイルアプリのどちらかまたは両方なのかということを示す

見直しの過程でいくつか既存のチェックを変更したり新たなチェックを追加したりもしています。

iOSに関する参考情報を追加

iOS VoiceOverの基本的な使い方など、モバイルアプリのチェックをする場合に必要な情報を参考情報として追加しました:
iOS VoiceOverを用いたチェックの実施方法

他にも、iOSでの拡大表示やグレイスケール表示をするための設定方法も追加しています。

今回のリリースではiOSに関する情報のみ追加しましたが、今後Androidに関しても同様の内容を追加する予定です。

各ガイドラインとチェック内容の管理方法の変更

これまで、各チェック内容はGoogleスプレッドシート上で管理していました。 スプレッドシートが変更されると、その内容を取得してreStructuredTextに変換するスクリプトを実行して、そのスクリプトが生成したファイル群をgitリポジトリーに入れるという作業をしていました。

この方法は、チェック内容の一覧性が高い形での閲覧、検討が容易だというメリットはありましたが、変更履歴を確認するのは比較的大変だし、そもそもガイドラインの他の部分がGitHub上で管理されているのに、チェック内容だけはソースが別管理になっているというのは好ましくない状態でした。 また、GitHub上で管理できていなければ、社内外問わず、改善の提案を受けることが難しくなり得ます。

そこで、まずチェック内容をYAMLで記述し、GitHubのリポジトリーに入れることにしました。 そしてこのYAMLファイル群を処理して、適切なreStructuredTextを生成するスクリプトを作れば良いだろうと考えました。 この作業の過程で、各ガイドラインについてもYAMLで記述し、ガイドラインとチェック内容の関連性といった情報もYAML化することで、保守がさらに容易になるのではないかと思い至りました。

その結果、チェック内容とガイドラインをYAML化した上で、これらを処理するスクリプトを作りました。

今後、編集の提案をいただく場合に必要な情報などをまとめて、GitHub上に掲載する予定ですので、特にモバイルアプリ向けのチェック内容に関して、ぜひ改善のための提案をいただければと思います。

その他の変更

他にもいろいろ変更しています。細かいものまで取り上げると大変なので(というか細かいものは覚えていないので)、ここまで触れたものほどの規模ではないもの、それなりに大きな変更を以下に列挙します。

引き続きご意見などお待ちしています

今回の変更についても、それ以外の部分についても、ご意見やお気付きの点など、GitHubリポジトリーのIssuesやPull Requestsでお知らせください。