O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

PyCon mini Hiroshima アクセシビリティを支えるPython

231 visualizações

Publicada em

2015年11月22日
PyCon mini Hiroshima オープニング
アクセシビリティを支えるPython (西本卓也)

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

PyCon mini Hiroshima アクセシビリティを支えるPython

  1. 1. 協賛 日本PostgreSQLユーザ会 後援 一般社団法人 PyCon JP 協力 オライリー・ジャパン 技術評論社
  2. 2. ご案内 • インターネット配信 • ハッシュタグ #pyconhiro • ステッカー • 飲食禁止 • 講演者 • LT希望者 • 懇親会参加者
  3. 3. PyCon とは 3 • Python Conference – 世界30カ国で開催 – PyCon US は2000人以上参加 • PyCon JP – mini, 2011, 2012, 2014, 2015 と開催 – 2013 は PyCon Asia Pacific • 地域 PyCon – PyCon mini Sapporo 2015年9月
  4. 4. 2011年東京 PyCon mini 開催 • NVDA日本語化プロジェクトとして講演 4
  5. 5. 併設イベント in PyCon JP 2012 5
  6. 6. PyCon mini Hiroshima の理想 • 誰でも参加して楽しんでもらえる • 合理的配慮 • NVDAユーザ会広島 – 音声認識を使うテキストと点字の配信 – 位置情報を使う移動支援 • NVDAの実演 – SlideShare サイト 6
  7. 7. アクセシビリティを支えるPython 2015-11-22 PyCon mini Hiroshima 2015 Takuya Nishimoto @24motz
  8. 8. スクリーンリーダー NVDA • NonVisual Desktop Access – 無料、オープンソース(GPL v2) – 本家 = NV Access オーストラリア – 全盲の技術者2人が2006年から開発 • Python – 主要部分の実装 – アドオン • 3ヶ月ごとのリリース
  9. 9. NVDA日本語版 • 日本語音声合成エンジン – Open JTalk (C言語)を DLL 化 – export されている関数を ctypes でラップ • 日本語点訳エンジン – MeCab を ctypes でラップ – 形態素からの変換規則 • 点字ディスプレイドライバ – ベンダーの DLL を ctypes でラップ
  10. 10. 0 50 100 150 200 250 300 350 400 450 May-14 Jun-14 Jul-14 Aug-14 Sep-14 Oct-14 Nov-14 Dec-14 Jan-15 Feb-15 Mar-15 Apr-15 May-15 Jun-15 Jul-15 Aug-15 Sep-15 Oct-15 2014.1jp 2014.2jp 2014.3jp 2014.4jp 2015.1jp 2015.2jp 2015.3jp 2015.4jp
  11. 11. Pythonのバグを踏む • ログオン名が特定の文字を含むときに NVDAインストーラーが起動しない • 報告者の名前のアカウントで再現 • 架空の名前「川山」で再現 – 川 0x5ddd – 山 0x5c71 • C:DOCUME~1川山LOCALS~1Tempnsd7.tmp…
  12. 12. 2012-10-18 from Mick • Actually, Jamie and I have spent the afternoon investigating this further, and we have found the exact issue and come up with a solution. I shall commit the fix tomorrow. • in short, there is a rather bad bug in Python's tempfile.gettempdir when dealing with multi-byte filenames. • I was able to reproduce your issue exactly.
  13. 13. Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from os.path import normcase >>> p = ur'C:DOCUME~1川山' >>> print p C:DOCUME~1川山 >>> print normcase(p.encode('cp932')).decode('cp932') c:docume~1川屍 >>> print ["0x%02x %s" % (ord(c), c) for c in u'山'.encode('cp932')] ['0x8e x8e', '0x52 R'] >>> print ["0x%02x %s" % (ord(c), c) for c in normcase(u'山'.encode('cp932'))] ['0x8e x8e', '0x72 r']
  14. 14. mbcs が normcase されてた • PythonIssue:14255 – あるはずの %home% が見つからない – 当時すでに報告されているバグだった • NVDA – tempfile.gettempdir にモンキーパッチ – 本家 NVDA issue 2729 • Python 2.7.6 で直ったという話
  15. 15. wxPython • GUI ツールキット • NVDA のコアは wx のイベントループ • wxWidgets はアクセシブル – Windows MSAA などをラップしている – フレームワーク選びは重要 • NVDAコミュニティに sighted がいない – 画面を見る人だけの不具合が頻発
  16. 16. これから • 日本語版と本家版の統合 • グローバル、日本語チーム、広島地域 • www.nvda.jp – クラッシュレポートでも歓迎 – Webに関しては本家にコミットしたい – Web標準のサポート • IE, Firefox, Chrome, Edge • Gmail や Google Docs が使える
  17. 17. アクセシビリティ • 技術ロードマップの真ん中 – 標準化 – マシンリーダブル、自動化 • エコシステムの端っこ – 非営利 – ボランティア • 手軽に参加、勉強になる、活躍できる

×