Nishimoto osh2014: Test driven development and accessibility

1,454 views

Published on

テスト駆動開発と アクセシビリティ(仮)
西本卓也 @24motz
NVDA日本語チーム
2014-02-01 オープンセミナー2014広島 懇親会LT

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,454
On SlideShare
0
From Embeds
0
Number of Embeds
589
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Nishimoto osh2014: Test driven development and accessibility

  1. 1. テスト駆動開発と アクセシビリティ(仮) 西本卓也 @24motz NVDA日本語チーム 2014-02-01 オープンセミナー2014広島 懇親会LT
  2. 2. 今年のテーマ TDD & AGILE • むりやりこじつけてNVDAの話をする • Windows 用のスクリーンリーダー • オープンソース • 日本語版は本家版のfork • 2013年にやっと日本語化が完成 • 現在は本家3か月ごとのラピッドリリースに追従
  3. 3. Webの自動テスト Selenium • NVDA • Firefox • Python # coding: utf-8 from __future__ import unicode_literals from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains import time baseUrl = 'http://www.nvda.jp' driver = webdriver.Firefox() driver.get(baseUrl + '/index.html') assert "NVDA日本語版 ダウンロードと説明" in driver.title ActionChains(driver).send_keys(Keys.TAB).perform() time.sleep(3) ActionChains(driver).send_keys(Keys.TAB).perform() time.sleep(3) ActionChains(driver).send_keys(Keys.TAB).perform() time.sleep(3) ActionChains(driver).send_keys('2').perform() time.sleep(5)
  4. 4. UI Automation • Microsoftの技術 • ソフトウエアの自動テスト • スクリーンリーダーとアプリケーションの通信 • Windowsナレーター • Appleにも同じ名前の技術がある
  5. 5. テスト駆動と自然言語処理 • 自動点訳エンジンの開発 • 音声合成エンジンのテキスト解析を流用 • 複雑であいまいな点字表記の規則 • コーパス?テストケース?
  6. 6. { 'note': '+ 基本テスト +' }, { 'input': 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミム メモヤユヨン', 'output': '⠁⠃⠉⠋⠊⠡⠣⠩⠫⠪⠱⠳⠹⠻⠺⠕⠗⠝⠟⠞⠅⠇⠍⠏⠎⠥⠧⠭⠯⠮⠵⠷⠽⠿⠾⠌⠬⠜⠴', 'inpos1': [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,3 2,33,34,35,36,37,38], 'cursorPos': 0, 'brlCursorPos': 0, }, { 'input': 'ガギグゲゴザジズゼゾダジズデドパピプペポキャキュキョチャチュチョ ヒャヒュヒョジャジュジョピャピュピョ', 'output': '⠐⠡⠐⠣⠐⠩⠐⠫⠐⠪⠐⠱⠐⠳⠐⠹⠐⠻⠐⠺⠐⠕⠐⠳⠐⠹⠐⠟⠐⠞⠠⠥⠠⠧⠠⠭⠠⠯⠠⠮⠈⠡⠈⠩⠈⠪⠈⠕ ⠈⠝⠈⠞⠈⠥⠈⠭⠈⠮⠘⠱⠘⠹⠘⠺⠨⠥⠨⠭⠨⠮', }, { 'text': '1234567890', 'input': '1234567890', 'output': '⠼⠁⠃⠉⠙⠑⠋⠛⠓⠊⠚', 'inpos2': [0,1,2,3,4,5,6,7,8,9],
  7. 7. { 'note': '=== その2 複合語 ===' }, { 'note': '1.区切ると意味の理解を損なう短い複合語や短い略語は、一続きに書く。' }, { 'comment': '点訳のてびき第3版 第3章 その2 1', 'text': '朝夕', 'input': 'アサユー' }, { 'note': '【備考】内部に助詞などを含んでいても、1語として熟している短い複合語は一続きに { 'comment': '点訳のてびき第3版 第3章 その2 1 備考', 'text': '息の根', 'input': 'イキノネ' }, { 'note': '2.接頭語・接尾語・造語要素と自立語の間は続けて書く。' }, { 'comment': '点訳のてびき第3版 第3章 その2 2', 'text': '相たずさえる', 'input': 'アイタズサエル' }, { 'comment': '点訳のてびき第3版 第3章 その2 2', 'text': '各種', 'input': 'カクシュ' },
  8. 8. TDDの心理学 • 即座にフィードバックを得る • 書いたコードに自信を持つ • これから書くコードに自信を持つ • 健康 • 正しさ・正直さ • モチベーション
  9. 9. チクセントミハイのフロー理論 high 不安 フロー 挑 戦 無感動 退屈 技能 high

×