ふつう=ユニバーサルでアクセシブル

この記事は ふつうの広島 Advent Calendar 2015 の8日目の記事です。
昨日はkamera25さんの記事でした。

冒頭から脱線しますが「普通の人にはない技術の持ち主」といえば「職人」ですね。
今日から「職人」がテーマのイベントが広島で開催されますよ。

広島職人博覧会
12月8日(火曜)から14日(月曜)まで
旧日本銀行広島支店(広島市中区袋町)

ふつうとはなんだろう

普通じゃない人にとって「普通に生きろ」という言葉は「苦痛」の一歩手前だったりするかも知れません。

「普通の人」=「健常者」「定型発達の人」でしょうか?
「普通の人」=「リモートワークじゃない人」でしょうか?

もっといろんな「普通」があっていいような気がするので、グーグル先生に訊いてみました。

普=「あまねく」「広く」

通=「通用する」

「あまねく」は「ユニバーサル」、「通用」は「アクセス」じゃないですか。

「ふつう」=「ユニバーサル」で「アクセシブル」ということですね!!

イベントの「ふつう」

「ふつうの広島」=「どんな人でも学んだり働いたり活動したりできる広島」にしましょう。

そういうつもりで2015年に私が取り組んだのが Python のイベント、PyCon mini Hiroshima 2015 でした。

開催直前の告知と終了後の報告は PyCon JP のブログに書いたので、下記をどうぞ。

PyCon mini Hiroshima 2015 を開催します!

PyCon mini Hiroshima 2015 を開催しました!

報告の中でも書いたことですが、カジュアルな勉強会は行動力のある人たちに任せて、私は「アクセシビリティを切り口に質を保障できるイベント」を、今後も続けていくためにお手伝いできたらいいなあと思っています。

ソフトウェアの「ふつう」

こないだ Web アクセシビリティのアドベントカレンダーに寄稿した NVDA 日本語版の現状の記事 ですが、途中から支離滅裂で勢いだけの駄文になってしまったので、もうすこし具体的に「アクセシビリティから考える本質とか品質とか」について書いてみます。

NVDA の UI ウィジェットに wxPython が使われていることは PyCon mini でお話しましたが、おそらく NVDA の開発者たちはこのツールキット選びをかなり慎重に行ったはずです。

wxPython のさらに土台になっている wxWidgets のレベルで、すでに Microsoft のアクセシビリティ API に対応する作り込みが行われていることが、ちゃんとドキュメントになっています

マルチプラットフォーム開発のための UI ツールキットはいろいろありますが、それぞれのプラットフォームのネイティブなアクセシビリティ API に対応した実装が施されているものはなかなかありません。
画面を Windows っぽく描画したり Mac っぽく描画したりすることだけできても、それが「ボタン」なのか「テキストフィールド」なのか、といった情報を OS のアクセシビリティ API に正しく渡すことができないフレームワークは山ほどあるのです。。

モバイル開発についてはどうでしょうか。
マルチプラットフォームといえば HTML で UI を作る「いわゆる PhoneGap」アプリを真っ先に思いつきます。

あまりよいユーザー体験を実現できない、ということで、ここ数年は敬遠されてきたような印象ですが、最近あらためて調べてみたら、Apache Cordova と Angular.js という組み合わせの新しいツールがいくつか登場していました。

ここでは Ionic Framework について最近私が調べたことをちょっと紹介しておきます。

この Ionic フレームワークは単なるライブラリではなくコマンドラインインタフェースのツールが用意されています。
ionic start コマンドで生成されるひな形の「タブ UI」アプリを Xcode でビルドして iPad にデプロイしてみたら、かなり VoiceOver でちゃんと使える、ということに気づきました。
フォーカスの移動順序にやや不自然なところはあったもののの、多くの要素が理解可能、アクセス可能でした。

Web技術はちゃんと「ユニバーサルにアクセシブル」に向かって進歩してるんですね。。

残念ながら完全に VoiceOver に無視されてしまったのは ion-toggle でした。

調べてみたらこのトグルスイッチの記述方法が他にも見つかったので、いわゆる WAI-ARIA の勉強がてら書き直してみたら、VoiceOver でちゃんと操作できて状態を読み上げられるトグルスイッチになりました。

修正前:

 <ion-view view-title="Account">
   <ion-content>
     <ion-list>
-    <ion-toggle ng-model="settings.enableFriends">
-        Enable Friends
-    </ion-toggle>
     </ion-list>
   </ion-content>
 </ion-view>

 

修正後:

 <ion-view view-title="Account">
   <ion-content>
     <ion-list>
+    <li class="item item-toggle">
+      <span role="label" id="enableFriendsLabel">Enable Friends</span>
+      <label class="toggle">
+        <input type="checkbox" ng-model="settings.enableFriends" />
+        <div class="track">
+          <div tabindex="0" class="handle" aria-labelledby="enableFriendsLabel" role="checkbox" aria-checked="{{ settings.enableFriends }}"></div>
+        </div>
+      </label>
+    </li>
    </ion-list>
   </ion-content>
 </ion-view>

 

role とか aria-checked とかこうやって使うんですね。勉強になりました。

これ Web 標準を使ってアクセシビリティを確保したので、たぶんプラットフォームごとの実装さえちゃんとしていれば「普(ユニバーサル)」に「通(アクセシブル)」なモバイルアプリになるはずですね。。

Ionic のテンプレートは Visual Studio 2015 にも入ってます。
Universal Windows Platform でもいけそうです。

アクセシビリティを「品質」と捉えると、技術を見極めたり、新しいことを勉強したりできますね。

「ふつうの広島」を目指して、開発者向けのアクセシビリティ勉強会をやったらいいですね、と提案しつつ、この記事を締めくくりたいと思います。

以下、参考書:

コーディング Web アクセシビリティ

わかりやすい「WAI-ARIA 1.0」仕様解説書 Kindle版

デザイニング Web アクセシビリティ

2015年7月に出版された「デザイニング Web アクセシビリティ」を紹介します。

私が開発・翻訳に関わっているオープンソースのスクリーンリーダー NVDA は、アクセシビリティに関わる開発者・制作者のためのツールになってほしい、そして日本でもこういう「Web アクセシビリティの定番教科書」(になるはずです、この本は)が取り上げるソフトウェアにならなくてはいけない、という思いを私は持ち続けてきました。

手元に届くまで、もし NVDA の N さえ出てこなかったらどうしよう、とドキドキしていたのですが、心配無用。
冒頭の「スクリーンリーダー」の説明:

「日本国内では PC-Talker, JAWS, NVDA などがよく使われています」

なんと「日本国内でよく使われているスクリーンリーダー」とまで言っていただきました。
たいへん光栄です。
まだまだ「よく使われている」かどうかは私自身が疑問ですが、日本国内で「よくインストールされている」スクリーンリーダーであることは間違いないでしょう。なんせ無料だし、3ヶ月に1回バージョンアップしてますからね。。

一方で、この「よく書かれた教科書」は、スクリーンリーダーの解説書でもなければ、スクリーンリーダーでのユーザー体験がすべてであると書かれているわけでもありません。
支援技術への対応やその検証は、本書で解説される「サイト製作プロセス」の後のほうの一要素でしかありません。

それどころか本書は全体を通じて、HTML や CSS フレームワーク、JavaScript ライブラリなどの具体的な記述など、実装の話は少ししか出てきません。
WCAG 2.0 や JIS X 8341-3 と同じく「特定の技術や実装に依存しない記述」になっていると言えます。
(そのかわり関連書籍「コーディング Web アクセシビリティ」が WAI-ARIA を扱っています)

ですが、ユーザー体験というレベルでは、アクセシビリティがどのように損なわれるのか、という問題が非常に具体的に扱われていて、その問題ごとに適切な解決アプローチが紹介されています。

なので本書は WCAG 2.0 や JIS X 8341-3 のよい解説書、アクセシビリティガイドラインに対応するための実践書になっています。
(「WCAG 2.0 と本書内容の対照表」が巻末についています)

私はWebサイト制作者としてのスキルやキャリアが足りないので、本書を読みながら、世の中のWeb製作の現場、社内や顧客とのやりとりなどを想像するのが面白いです。

さすがに2015年の現在、アクセシビリティというものに対する世の中の認知は、多少は高まってきたのだと信じています。
おそらく「単なる悪意や無理解でアクセシビリティが悪い」ということは、多少は減ってきたのだと思います。

しかし「つい他のことに気を取られてアクセシブルでなくなってしまっている」というケースはむしろ多くなっているのではないか、ということを、本書を読んで感じています。

その最たる例が「いわゆるセキュリティ面の要求に応えていたらアクセシブルではなくなった」というケースでしょう。

ロボットを排除するための画像認証(CAPTCHA)、コンテンツのコピー防止のための右クリック対策、不正アクセスを防止するための「戻るボタン」抑止やセッション時間制限、フォーム入力の過剰なエラー処理、など、おそらくは「悪意からこうなった」というよりも「セキュリティの要求に(アクセシビリティの視点抜きに)対応してしまった」というケースが増えているのだと思います。

本書が「本気」で書かれているのはまさにこの部分で、こういう課題をどう考えれば正しいのか、筋がよいのか、といったことが議論されています。

CMSの問題、ポップアップメニューの操作、といった問題も「運用コスト」「開発効率」「リッチな体験」「モバイルデバイスの画面設計」などなど、「つい他のことに気を取られて失敗」というパターンに分類できそうです。

「正しいことを正しくやる」ことがずっと変わらないとしても、それを学ぶために必要な教科書は「こういうことに気をとらわれるとこういう失敗がおきる」ということを、時代に合った内容で伝えていく必要があるんでしょうね。。

アクセシビリティ、あるいはマシンリーダブルであることの重要性をいくら説いても「ついそこから逸脱させてしまう他の要因」は手を変え品を変え、次から次へと登場してくるのでしょう。
なので、こういう内容の本にご興味があるなら、早めに手にとって実践されることをお勧めします。

ひさしぶりに書籍の紹介をした理由ですが、実は自分用に1冊購入して、その後で AccSell メールマガジンの読者プレゼントでもう1冊いただきました。2冊目は人に配るために使わせていただきます。

そして AccSell のポッドキャスト 8月19日ごろ配信の第75回には、私が出演して NVDA の話をします。

NVDA 関連の告知を(前の記事の繰り返しですが)もう2つ:

NVDA ワールド 2015 東京(9月12日)のプログラムがほぼ確定しました。
特別講演として LibreOffice 日本語チームの おがさわら なるひこ さんをお招きします。
NVDA でも利用できる無料のオフィススイート LibreOffice の魅力、アクセシビリティ対応とコミュニティ運営について伺う予定です。
とても楽しみです。

翌日の9月13日は AccSell Meetup 010 『Web制作者のためのNVDA入門』 を担当します。
「デザイニング Web アクセシビリティ」で書かれていること、実際に試してみましょう。

どちらもよろしくお願いします。

HTC EVO WiMAX と Evernote

手元にあるものを有効に活用できていない、というモヤモヤ感が、人をこういう本に向かわせるのだ。そう思いつつ2冊買ってみた。

HTC EVO WiWAX スーパーガイド (超トリセツ)
インターナショナル・ラグジュアリー・メディア
EVERNOTE HACK
EVERNOTE HACK

posted with amazlet at 11.08.20
篠塚 充
シーアンドアール研究所
売り上げランキング: 14084

HTC EVO WiMAX は今年4月に入手。KDDI の Android スマートフォンでありながらブロードバンド無線ルーターとして使える「テザリング機能」が特徴。WiMAX だけでなく3G回線でもテザリングできる。私は山田町からUstreamしたときにこの3Gテザリング機能に助けられた。

Evernote は「人間のかわりにいろいろなことを覚えておいてくれる」というWebサービス。全体容量で制限するのではなく、1ヶ月あたりの追加データ量を制限するのが特徴。画像に含まれる文字を検索してくれる、といった機能もある。これは1年くらい前から使い道を模索していたのだが、今年7月に思い切ってプレミアム会員に格上げした。すると、Evernote と Android の連携が、ちょっと面白くなってきたのだ。。

“HTC EVO WiMAX と Evernote”の続きを読む

夏の読書と冬の記憶

この数日、集中して読書をしている。

残念な人の英語勉強法
残念な人の英語勉強法

posted with amazlet at 11.08.14
山崎将志 Dean R. Rogers
幻冬舎
売り上げランキング: 15674

山崎将志, Dean R. Rogers 「残念な人の英語勉強法」は、大人になってから英語を学び直したい人が、どんな勉強方法を、どんなツールを選べばよいか、合理的な情報を提供している。著者たちが経営する英会話学校の宣伝だけではなく、自分たちの活動を「英語教育に関する実験、結果、考察」としてまとめているのだ。「科学的に」といえるほど厳密ではないが、十分な説得力はある。そして、語学教育の研究者は、もしかしたらこの本から実験計画のヒントを得られるかも知れない。
“夏の読書と冬の記憶”の続きを読む

ソフトウェア構成管理

むかしバージョン管理システムの本を書いたことがある私に「ソフトウェア構成管理」について教えて欲しい、という相談がありました。

私は基本的にソフトウェア開発で生計を立てているわけではなく、手段としてのソフトウェア開発における、技術と人の問題に興味を持ってきました。
直接のきっかけは「バグのないソフトウェアを目指して」というテーマで読みあさった一連の書籍です。
そしていまの私も、ソフトウェア構成管理については、昔の読書の知識からあまり進歩していません。

“ソフトウェア構成管理”の続きを読む

第63回音音研

第63回「音声・音楽研究会」のTwitter記録です。Stickamを使って、参加者6人+遠隔参加者1人で楽しく開催しました。
このライトニングトーク企画は「気軽に話しやすい」と好評でした。

共感覚の話題で出てきた岩崎純一「音に色が見える世界」はこちらです:

音に色が見える世界 (PHP新書)
岩崎 純一
PHP研究所
売り上げランキング: 57037

“第63回音音研”の続きを読む

フェルマーの最終定理

結城 浩『数学ガール/フェルマーの最終定理』を読ませていただいた。

数学ガール/フェルマーの最終定理
結城 浩
ソフトバンククリエイティブ
売り上げランキング: 54781

読み進めながら、私が子供のころ読んだ三省堂「数学バイパス」シリーズのことを思い出した。私が読んだ本の情報は出てこないが、新版の情報があった:

“フェルマーの最終定理”の続きを読む

社会科学方法論

先日図書館で、田村正勝先生の「社会科学原論講義」早稲田大学出版部(2007)を見つけた。

社会科学原論講義
社会科学原論講義

posted with amazlet at 11.08.15
田村 正勝
早稲田大学出版部
売り上げランキング: 413208

遠い昔、早稲田大学理工学部から他学部聴講で田村先生の「社会科学方法論」を聞くために、私は1年間「社学」に通った。電気工学科に在籍しながらも浅羽通明「ニセ学生マニュアル」や筒井康隆「文学部唯野教授」などを面白がって読んでいた自分にはとても有意義な時間だった。

ギリシャ哲学、ヘーゲルの弁証法、アダム・スミスの国富論、マルクスとケインズの経済学、そして日本の思想、などなど。一人の先生の一つの講義がここまでいろいろな話題に触れられて(ほとんどノートも見ずにお話になっていたと思う)、それが毎回毎回、現代の日本と世界の問題を鋭く分析するツールとして機能していたことに感銘を受けた。

その講義が(この十数年の政治や経済の問題に対する鋭い論考を付け加えつつ)こうして一冊の本にまとまって読めるのは、ありがたいことだ。

田村先生の講義で出てきたいくつかのキーワード、例えば「偶然は必然と必然の交である」といったことは今もよく覚えている。

あるいは「社会科学の優れた理論は、その理論そのものが社会を変えてしまう。そしてその理論が成り立たないような社会がやがて実現されてしまう」といったパラドックスも、その後の人生と経験の中で、何度も、思い当たる節があると感じた。

通勤時間に読書するには物理的にも内容的にも重い本だったが、拾い読みをしているだけで、なにかとても温かくて真っ直ぐな気持ちが蘇った。

フロー理論

フロー体験入門―楽しみと創造の心理学
M.チクセントミハイ
世界思想社
売り上げランキング: 27373

「フロー体験入門―楽しみと創造の心理学」

天外伺朗氏の著作でチクセントミハイのフロー理論について語られていることを知り、意外なような、納得できるような気がしました。

“フロー理論”の続きを読む