タグ: nvda

  • PyCon mini Hiroshima 2016「広島とPython」 #pyconhiro #pyconjp

    プログラミング言語 Python (パイソン)が気になりはじめた広島の皆様、広島のことが気になっていた全国の Python ファンの皆様のために、今年も PyCon mini Hiroshima を開催します。
    開催日は2016年11月12日(土曜)、会場は広島市立大学サテライトキャンパス(広島市役所のすぐ前)です。
    これから connpass サイトでの参加募集(および講演の申込受付)を開始します。
    2015年11月22日、第1回 PyCon mini Hiroshima の基調講演は石本敦夫さん「Pythonの肩にのる」でした。
    一人前のプログラマになるための勉強は果てしなく続く。でも焦ることはない。なにかひとつの技術やプロダクトに深く関わることが重要。
    深く学ぶほど大きく広がる Python の世界はその理想的な入口のひとつ。
    そんなことをご自身の20年の経験を踏まえて語っていただきました。
    たまたま NVDA という Python プロダクトの活動(NVDA日本語チーム)をきっかけに Python を深く学ぶことになり、日本の Python の技術者やコミュニティの素晴らしいパワーに触れる機会を得てきた私には、自分の気持ちととても重なった内容でした。
    半年以上が過ぎたいま、Python やその関連プロダクトは、広島の技術者の勉強や仕事に役立ち始めているでしょうか?
    広島での PyCon mini の第2回となる今年は「広島から発信しよう」を目指しています。
    県外から著名人をお招きしてお話を伺うことよりも「広島で Python がどう使われているのか」「広島で Python 技術者にどんなチャンスがあり得るのか」といった話題を持ち寄って、なにかを生み出したいと思います。
    まず「広島で暮らす人々」「広島に観光で訪れる人々」をターゲットに「人間の言葉を理解するコンピュータ」の研究に取り組んでいる広島市立大学「言語音声メディア工学研究室」の関係者にご協力をお願いして、「広島とPython」の接点を探ります。
    また IoT (Internet of Things) に適した言語としての Python という側面(例えばハードウェアの制御も Web APIの利用も Python から簡単にできたりします)を掘り下げていくために、今年立ち上がったフレッシュなコミュニティ IoTLT 広島と LT セッションを共同開催します。
    スペシャルトークの火村智彦さんには「私はいま広島で○○というプログラミング言語を使っているけど、Python も勉強した方がいいのかな?」と思っている人に刺激を与えるようなお話をお願いしています。どんな内容になるのか、私もまだわかりませんが楽しみにしています。
    今年、日本の Python コミュニティでは、初学者向けの勉強会(BootCamp)など新しい取り組みが各地で始まっています。
    また Python を基盤にしたビッグデータ、機械学習、インフラ管理など、いろいろなツールのコミュニティも広がりつつあります。
    この第2回 PyCon mini Hiroshima を、広島での継続的な Python コミュニティ活動のきっかけにと願いつつ、まずはご参加のご案内をさせていただきます。
    講演テーマ募集は9月30日を締切とさせていただく予定です。
    参加申込とあわせて、お気軽にご提案いただければ幸いです。

  • 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版