Firefox 43 と WebVisum のこれから

NVDA ユーザーが画像認証 (CAPTCHA) の壁を克服する手段として広く知られている WebVisum という Firefox アドオンがあります。
ミツエーリンクス まほろば などで紹介されています。

最近の Firefox と WebVisum について私が知っていることの整理と、問題提起をしておきます。

最近リリースされた Firefox バージョン 43 から、Firefox の開発元が認証をしたアドオンだけがインストール、実行できるようになりました。

WebVisum はまだ Firefox 開発元の認証を受けたバージョンを公開していないようです。

未認証のアドオンの実行を禁止するようになったのは、システムを不安定にしたり不正アクセスの原因になったりするアドオンが広まることを防ぐ目的のようです。

回避策はいくつかあり、後述しますが、どれも根本的ではありません。

根本的には WebVisum が最新の Firefox に対応するように、ちゃんと開発、システム運営を続けてもらう必要があります。

英語でしか書かれていませんが、WebVisum に寄付をしたり運営に協力したりしてください、みたいなことはサイトに書かれてはいます。

いままでそういう支援を検討しておられたのなら、この機会に WebVisum の運営元に対して、今後もちゃんと開発されていくのか、確認をしてみられるのがよいと思います。

たしか今年の夏ぐらいに WebVisum のサーバーが止まって、一時的に WebVisum が使えなくなったことがあったはずです。
海外のメーリングリストでは WebVisum の代わりになるものがないか、という質問がときどき出るようになりました。

Firefox のアドオンは今後も大きな仕様変更が予定されているはずです。
もし WebVisum の開発が止まっているなら、将来の Firefox のバージョンアップに追従できなくなり、WebVisum は使えなくなってしまうと思います。

以下、暫定的に WebVisum を使えるようにするいくつかの方法です。

(1)
自己責任で Firefox の設定を書き換えて、未認証のアドオンを有効化する。

例えば「窓の杜」の以下の記事に書かれています。

「Firefox 43」では未署名のアドオンが利用不可能に
“about:config”でオプションを無効化すれば、次期バージョンまでは継続利用が可能

Firefox 44 ではこの方法は使えなくなるそうです。
なのでいまから約6週間しか有効ではありません。

(2)
Firefox 38 延長サポート版 (ESR) に乗り換える。

Firefox ESR 38 という、仕様としてはバージョン38のまま、セキュリティ修正だけは2016年5月まで行われる特別な Firefox があります。
下記ページの下の方に日本語 Windows 版のダウンロードリンクがあります。
Firefox/Thunderbird 法人向け延長サポート版

この ESR 38 で WebVisum のサイトからアドオン ( WebVisum 0.9.1 ) をダウンロードしてインストールできることは確認しました。
(未認証のアドオンは自己責任で使ってください、というメッセージは出ます)

この方法も2016年5月までしか有効でなく、次にメジャーバージョンアップされる ESR ではいまの WebVisum は使えないはずです。

(3)
Firefox のバージョンを戻す、バージョンアップを止める。

おそらく皆様最初に思いつくことと思いますが、セキュリティ上の不具合があると分かっていて使い続けることになるため、良くない方法です。

けっきょくは WebVisum というサービスが本当に必要なのか、もし必要なのだとしたら、どうやって WebVisum の開発者や運営者を支援するのか、といったことが問われていると思います。

まあ NVDA もそうなんですけどね。。

CAPTCHA のために WebVisum が使われ続けることは、スクリーンリーダー利用者に対してアクセシブルな操作手段を提供しないサービス運営者を容認することに繋がっているとも考えられます。

以前は日本で広く普及しているスクリーンリーダーが Firefox に対応していなかったため、画像認証をクリアしたい、Firefox を使いたい、じゃあ NVDA を覚えよう、という順番で NVDA に注目された時期もありました。

しかし私は NVDA 開発者たちの思想を尊重して、WebVisum にしがみつかないことも、模索したい、してもらいたい気持ちになっています。

以上、議論の材料になれば幸いです。

追記(2016年8月22日):

WebVisum のサイトに掲載されているバージョンは 0.9.1 のままですが、Mozilla のサイトでは2016年7月18日にリリースされた WebVisum 0.9.5 が紹介されており、認証済みのアドオンとして利用できるようになりました。

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

この記事は ふつうの広島 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版

スクリーンリーダー NVDA 日本語版の現状

この記事は、Web Accessibility Advent Calendar 2015、4日目の記事です。

Web Accessibility Advent Calendar に参加するのは初めてなので、自己紹介をします。

広島出身、東京と京都を経て、現在また広島在住。
2012年4月から NVDA 日本語チーム の代表としてオープンソースの Windows 用スクリーンリーダー NVDA の翻訳と日本語版開発を担当しております。
今年の夏 AccSell ポッドキャスト 第75回に出演して喋ったので、よろしければ聞いてみてください。
非営利法人 ATDO(支援技術開発機構)主任研究員として電子書籍のアクセシビリティ(EPUBやDAISY)に従事することもあります。
Web アクセシビリティに関することでは、今年から WAIC WG2(ウェブアクセシビリティ基盤委員会 実装ワーキンググループ)に参加しています。
NVDA の開発に Python が使われているというつながりで、広島で Python のイベント PyCon mini Hiroshima の実行委員長をやりました。
その他の仕事としては、某ステルスモードのスタートアップでソフトウェア開発に従事しています。

この記事では今年ポッドキャストやイベントで喋り足りなかった NVDA の実情をまとめてみたいと思います。

まず、ユーザー数や市場占有率について。

日本でよく参照されている「視覚障害者の携帯電話・スマートフォン・タブレット・ パソコン利用状況調査 2013」(新潟大学)によると、スクリーンリーダー利用者全体における NVDA 利用者の割合は6パーセントとされています。
このことから「NVDA でしかちゃんと動かないWeb標準を実装しても、大半の視覚障害ユーザーには届かない」と判断されがちです。

私は、話はそれほど単純ではないだろうと考えています。
理由のひとつは、この調査が実施された2013年秋から現在までに、NVDA 日本語版のユーザーはおそらく2倍以上に増えているであろうこと。
もうひとつは、同じくこの2年のあいだに「視覚障害者の Windows 離れ」が進んだと思われること、です。

まずは NVDA 日本語版の普及状況から。
NVDA には「更新の自動チェック」機能があり、24時間ごとにサーバーと通信をしています。
サーバー側で「自動チェック」のアクセス数を数えることで、1日ごとのユーザー数を把握しています。
ちなみに NVDA 本家版のユーザー数調査結果によると、1日あたり平均23775人が一番新しい数字になっています。
(1週間のアクセス数を1日平均に直しているのは、曜日によってユーザー数が異なるからでしょう。詳しくは後述)

NVDA 日本語版は2013年12月15日にリリースした 2013.3jp から、更新チェックを独自に運用していて、NVDA 日本語チームのサーバーでアクセスを数えています。
2014年1月5日ごろの1日あたりの平均ユーザー数は64人ですが、これは 2013.3jp よりも古いバージョンを把握できていないので、すこし控えめな数字になっているはずです。
その後、2014年3月20日に 2014.1jp を、6月2日に 2014.2jp をリリースしました。
大半のユーザーが 2013.3jp 以降を使っていると考えられる2014年5月上旬で、NVDA 日本語版の1日平均ユーザー数は176人でした。
そして2015年12月上旬、現在の1日平均ユーザー数は424人になっています。

NVDA 日本語版の1日平均ユーザ数。2014年5月から2015年12月最初まで。バージョンごとに色分けされている。最初は176人、最新は416人。

単純に伸び率を掛けると、6パーセントだったシェアは少なくとも15パーセントにはなっているでしょう。

一方で、パソコンを利用する視覚障害者、つまりこのシェア計算の母数は、この2年でどうなっているでしょうか。

はっきりとは分かりませんが、私は「期待したほど NVDA 日本語版のユーザー数が増えていない」ことと、視覚障害者コミュニティの「空気の変化」から判断して、「日常的なコミュニケーションや情報アクセスは iPhone の VoiceOver でやってしまう」というライフスタイルが急速に広まりつつあると感じています。

ひとつの根拠は、NVDA 日本語版のユーザー数が2014年年末から2015年年始にかけての1週間に大きく落ち込んだ、というデータです。
また、今回この記事を書くために、この3週間くらいの曜日ごとのユーザー数を調べてみたのですが、やはり土曜日と日曜日のユーザー数が少ない、という結果になりました。

曜日ごとの NVDA 日本語版ユーザ数の比較。日曜日364人、月曜から金曜の426人、土曜372人

視点を変えると、日本における NVDA は「日常生活を支援する道具」の座をスマートフォンに明け渡しつつあるかわりに、平日に職場で使われる「視覚障害者の就労支援ツール」になりつつある、という可能性を感じています。

就労における NVDA というテーマでは、今年9月のイベントでも IT 技術者として働いている NVDA ユーザーによる発表がありました。
また技術者ではない人からも、マッサージの仕事の予定管理にイントラネットが使われていて、そのWebサイトにアクセスするときに NVDA を使う、といった話を聞いたことがあります。
日本盲人職能開発センター(東京都新宿区)ではNVDAの講習会が定期的に開催されているようです。
(私は2014年の秋にこの施設で最初のNVDA講習会をお手伝いしました)

何度か書いたり喋ったりしたことですが、NVDA は「スクリーンリーダーの本来果たすべき役割分担」に忠実な、初心者には取っつきにくい、不親切なスクリーンリーダーです。
しかしそれはベンダーや開発者に「Web標準への準拠」「アクセシビリティAPIへの準拠」を促すための NVDA の戦略によるものです。
また一方で、たった2人のコア開発者が膨大な開発を効率よく行うための、プロジェクト生き残りの手段であるとも言えます。

NVDA の強みを手短に語ってほしい、NVDA でなければできない作業をアピールしてほしい、と言われるたびに複雑な気持ちになります。

正しく迅速に「標準」に準拠するスクリーンリーダーよりも、「特定のコンテンツやアプリケーションに特化したスクリーンリーダー」のほうが、どうしても「すごいソフトウェア」「お金を払うに値する製品」に見えてしまうのです。

開発中のアプリやコンテンツが NVDA でちゃんと動くようにするにはどうしたらいいか、という質問も、似たような状況です。
「特定のスクリーンリーダーに特化したコンテンツやアプリケーション」の開発を促したくない、ということも NVDA のポリシーだからです。

NVDA 本家の開発は最近、GitHub に移行しました。
この GitHub Issues では WAI-ARIA をどう解釈して NVDA でどう実装しているのか、といったやりとりも 頻繁に 交わされています。

NVDA に関わる前から「アクセシビリティ」にこだわっていた私にとって、アクセシビリティとは「物事の本質」であり「コンテンツの品質」であり「イノベーションの源泉」です。
日本では Web アクセシビリティのコミュニティにとっても、スクリーンユーザーのコミュニティにとっても NVDA はまだまだメジャーな存在ではありません。
Web アクセシビリティは「情報産業というエコシステムの傍流」かも知れませんが、しかし「技術ロードマップのど真ん中」だと信じています。

開発者とユーザーがお互いに「Web標準を考慮して頑張っても、相手が使いこなせないから無駄」と思うのではなく、双方が「互いに歩み寄れる妥協点」を見つけてほしいと思っています。
日本のユーザーに NVDA をリアルタイムに届けることで、まもなく始まるであろう「合理的配慮」をめぐる当事者たちと事業者たちの「戦い」を支えたいと考えています。

告知:
2016年1月9日(土曜)に大阪で開催される LibreOffice mini Conference 2016 Japan に参加します。
それから1月16日(土曜)に東京で(久しぶりの) NVDA ミートアップを開催します。
NVDA について質問したい人、一緒に NVDA コミュニティを盛り上げたい人のご参加をお待ちしております。