OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * @fileoverview Provides output services for ChromeVox. | 6 * @fileoverview Provides output services for ChromeVox. |
7 */ | 7 */ |
8 | 8 |
9 goog.provide('Output'); | 9 goog.provide('Output'); |
10 goog.provide('Output.EventType'); | 10 goog.provide('Output.EventType'); |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
419 '$name $role $description $state' | 419 '$name $role $description $state' |
420 }, | 420 }, |
421 alert: { | 421 alert: { |
422 enter: '$name $role $state', | 422 enter: '$name $role $state', |
423 speak: '$earcon(ALERT_NONMODAL) $role $nameOrTextContent $state' | 423 speak: '$earcon(ALERT_NONMODAL) $role $nameOrTextContent $state' |
424 }, | 424 }, |
425 alertDialog: { | 425 alertDialog: { |
426 enter: '$earcon(ALERT_MODAL) $name $state', | 426 enter: '$earcon(ALERT_MODAL) $name $state', |
427 speak: '$earcon(ALERT_MODAL) $name $nameOrTextContent $state $role' | 427 speak: '$earcon(ALERT_MODAL) $name $nameOrTextContent $state $role' |
428 }, | 428 }, |
429 cell: { | 429 cell: { |
David Tseng
2017/04/11 03:48:09
Also, I think you also want to modify the output r
| |
430 enter: '@cell_summary($tableCellRowIndex, $tableCellColumnIndex) ' + | 430 enter: '@cell_summary($if($ariaCellRowIndex, $ariaCellRowIndex,' + |
David Tseng
2017/04/11 03:40:55
Is the aria row index here possibly 0? $if would e
| |
431 '$node(tableColumnHeader)', | 431 '$tableCellRowIndex), $if($ariaCellColumnIndex, $ariaCellColumnIndex,' + |
432 speak: '@cell_summary($tableCellRowIndex, $tableCellColumnIndex) ' + | 432 '$tableCellColumnIndex)) $node(tableColumnHeader)', |
433 '$node(tableColumnHeader) $state' | 433 speak: '@cell_summary($if($ariaCellRowIndex, $ariaCellRowIndex,' + |
434 '$tableCellRowIndex), $if($ariaCellColumnIndex, $ariaCellColumnIndex,' + | |
435 '$tableCellColumnIndex)) $node(tableColumnHeader) $state' | |
434 }, | 436 }, |
435 checkBox: { | 437 checkBox: { |
436 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + | 438 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + |
437 '$name $role $checked $description $state' | 439 '$name $role $checked $description $state' |
438 }, | 440 }, |
439 client: { | 441 client: { |
440 speak: '$name' | 442 speak: '$name' |
441 }, | 443 }, |
442 date: { | 444 date: { |
443 enter: '$nameFromNode $role $description' | 445 enter: '$nameFromNode $role $description' |
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1244 msgId = msgId + '_brl'; | 1246 msgId = msgId + '_brl'; |
1245 this.append_(buff, Msgs.getMsg(msgId), options); | 1247 this.append_(buff, Msgs.getMsg(msgId), options); |
1246 } else if (token == 'tableCellRowIndex' || | 1248 } else if (token == 'tableCellRowIndex' || |
1247 token == 'tableCellColumnIndex') { | 1249 token == 'tableCellColumnIndex') { |
1248 var value = node[token]; | 1250 var value = node[token]; |
1249 if (value == undefined) | 1251 if (value == undefined) |
1250 return; | 1252 return; |
1251 value = String(value + 1); | 1253 value = String(value + 1); |
1252 options.annotation.push(token); | 1254 options.annotation.push(token); |
1253 this.append_(buff, value, options); | 1255 this.append_(buff, value, options); |
1256 } else if (token == 'ariaCellRowIndex' || | |
David Tseng
2017/04/11 03:40:55
The $ prefix defaults to an attribute lookup so th
| |
1257 token == 'ariaCellColumnIndex') { | |
1258 var value = node[token]; | |
1259 if (value == undefined) | |
David Tseng
2017/04/11 03:40:55
You don't need this if you're already using $if ab
| |
1260 return; | |
1261 options.annotation.push(token); | |
1262 this.append_(buff, value, options); | |
1254 } else if (token == 'node') { | 1263 } else if (token == 'node') { |
1255 if (!tree.firstChild || !node[tree.firstChild.value]) | 1264 if (!tree.firstChild || !node[tree.firstChild.value]) |
1256 return; | 1265 return; |
1257 var related = node[tree.firstChild.value]; | 1266 var related = node[tree.firstChild.value]; |
1258 this.node_(related, related, Output.EventType.NAVIGATE, buff); | 1267 this.node_(related, related, Output.EventType.NAVIGATE, buff); |
1259 } else if (token == 'nameOrTextContent') { | 1268 } else if (token == 'nameOrTextContent') { |
1260 if (node.name) { | 1269 if (node.name) { |
1261 this.format_(node, '$name', buff); | 1270 this.format_(node, '$name', buff); |
1262 } else { | 1271 } else { |
1263 var walker = new AutomationTreeWalker(node, | 1272 var walker = new AutomationTreeWalker(node, |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1877 /** | 1886 /** |
1878 * Gets the output buffer for braille. | 1887 * Gets the output buffer for braille. |
1879 * @return {!Spannable} | 1888 * @return {!Spannable} |
1880 */ | 1889 */ |
1881 get brailleOutputForTest() { | 1890 get brailleOutputForTest() { |
1882 return this.mergeBraille_(this.brailleBuffer_); | 1891 return this.mergeBraille_(this.brailleBuffer_); |
1883 } | 1892 } |
1884 }; | 1893 }; |
1885 | 1894 |
1886 }); // goog.scope | 1895 }); // goog.scope |
OLD | NEW |