Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js

Issue 2358603002: Update link output rule. (Closed)
Patch Set: fix test Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 } 369 }
370 }, 370 },
371 expanded: { 371 expanded: {
372 on: { 372 on: {
373 msgId: 'aria_expanded_true' 373 msgId: 'aria_expanded_true'
374 }, 374 },
375 off: { 375 off: {
376 msgId: 'aria_expanded_false' 376 msgId: 'aria_expanded_false'
377 } 377 }
378 }, 378 },
379 pressed: {
380 on: {
381 msgId: 'aria_pressed_true'
382 },
383 off: {
384 msgId: 'aria_pressed_false'
385 },
386 omitted: {
387 msgId: 'aria_pressed_false'
388 }
389 },
390 visited: { 379 visited: {
391 on: { 380 on: {
392 msgId: 'visited_state' 381 msgId: 'visited_state'
393 } 382 }
394 } 383 }
395 }; 384 };
396 385
397 /** 386 /**
398 * Maps input types to message IDs. 387 * Maps input types to message IDs.
399 * @const {Object<string>} 388 * @const {Object<string>}
(...skipping 14 matching lines...) Expand all
414 * @type {!Object<Object<Object<string>>>} 403 * @type {!Object<Object<Object<string>>>}
415 */ 404 */
416 Output.RULES = { 405 Output.RULES = {
417 navigate: { 406 navigate: {
418 'default': { 407 'default': {
419 speak: '$name $value $state $role $description', 408 speak: '$name $value $state $role $description',
420 braille: '' 409 braille: ''
421 }, 410 },
422 abstractContainer: { 411 abstractContainer: {
423 enter: '$nameFromNode $role $state $description', 412 enter: '$nameFromNode $role $state $description',
424 speak: '$name $value $state $role $description',
425 leave: '@exited_container($role)' 413 leave: '@exited_container($role)'
426 }, 414 },
427 alert: { 415 alert: {
428 speak: '!doNotInterrupt $role $descendants' 416 speak: '!doNotInterrupt $role $descendants $state'
429 }, 417 },
430 alertDialog: { 418 alertDialog: {
431 enter: '$nameFromNode $role $description', 419 enter: '$nameFromNode $role $description',
432 speak: '$name $role $descendants' 420 speak: '$name $role $descendants $state'
433 }, 421 },
434 cell: { 422 cell: {
435 enter: '@cell_summary($tableCellRowIndex, $tableCellColumnIndex) ' + 423 enter: '@cell_summary($tableCellRowIndex, $tableCellColumnIndex) ' +
436 '$node(tableColumnHeader)', 424 '$node(tableColumnHeader)',
437 speak: '@cell_summary($tableCellRowIndex, $tableCellColumnIndex) ' + 425 speak: '@cell_summary($tableCellRowIndex, $tableCellColumnIndex) ' +
438 '$node(tableColumnHeader)' 426 '$node(tableColumnHeader) $state'
439 }, 427 },
440 checkBox: { 428 checkBox: {
441 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + 429 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' +
442 '$name $role $checked $description' 430 '$name $role $checked $description $state'
443 }, 431 },
444 date: { 432 date: {
445 enter: '$nameFromNode $role $description', 433 enter: '$nameFromNode $role $description'
446 speak: '$name $value $state $role $description'
447 }, 434 },
448 dialog: { 435 dialog: {
449 enter: '$nameFromNode $role $description' 436 enter: '$nameFromNode $role $description'
450 }, 437 },
451 div: { 438 div: {
452 enter: '$nameFromNode', 439 enter: '$nameFromNode',
453 speak: '$name $description $descendants' 440 speak: '$name $description $descendants'
454 }, 441 },
455 grid: { 442 grid: {
456 enter: '$nameFromNode $role $description' 443 enter: '$nameFromNode $role $description'
457 }, 444 },
458 group: { 445 group: {
459 enter: '$nameFromNode $state $description', 446 enter: '$nameFromNode $state $description',
460 speak: '$nameOrDescendants $value $state $description', 447 speak: '$nameOrDescendants $value $state $description',
461 leave: '' 448 leave: ''
462 }, 449 },
463 heading: { 450 heading: {
464 enter: '!relativePitch(hierarchicalLevel) ' + 451 enter: '!relativePitch(hierarchicalLevel) ' +
465 '$nameFromNode= @tag_h+$hierarchicalLevel', 452 '$nameFromNode= @tag_h+$hierarchicalLevel',
466 speak: '!relativePitch(hierarchicalLevel)' + 453 speak: '!relativePitch(hierarchicalLevel)' +
467 ' $nameOrDescendants= @tag_h+$hierarchicalLevel' 454 ' $nameOrDescendants= @tag_h+$hierarchicalLevel $state'
468 }, 455 },
469 inlineTextBox: { 456 inlineTextBox: {
470 speak: '$name=' 457 speak: '$name='
471 }, 458 },
472 inputTime: { 459 inputTime: {
473 enter: '$nameFromNode $role $description', 460 enter: '$nameFromNode $role $description'
474 speak: '$name $value $state $role $description'
475 }, 461 },
476 link: { 462 link: {
477 enter: '$nameFromNode= $if($visited, @visited_link, $role)', 463 enter: '$nameFromNode= $role $state'
478 speak: '$name= $if($visited, @visited_link, $role) $description'
479 }, 464 },
480 list: { 465 list: {
481 enter: '$role @@list_with_items($countChildren(listItem))' 466 enter: '$role @@list_with_items($countChildren(listItem))'
482 }, 467 },
483 listBox: { 468 listBox: {
484 enter: '$nameFromNode ' + 469 enter: '$nameFromNode ' +
485 '$role @@list_with_items($countChildren(listBoxOption)) ' + 470 '$role @@list_with_items($countChildren(listBoxOption)) ' +
486 '$description' 471 '$description'
487 }, 472 },
488 listBoxOption: { 473 listBoxOption: {
489 speak: '$name $role @describe_index($indexInParent, $parentChildCount) ' + 474 speak: '$name $role @describe_index($indexInParent, $parentChildCount) ' +
490 '$description' 475 '$description $state'
491 }, 476 },
492 listItem: { 477 listItem: {
493 enter: '$role' 478 enter: '$role'
494 }, 479 },
495 menu: { 480 menu: {
496 enter: '$name $role', 481 enter: '$name $role',
497 speak: '$name $role @@list_with_items($countChildren(menuItem))' 482 speak: '$name $role @@list_with_items($countChildren(menuItem)) $state'
498 }, 483 },
499 menuItem: { 484 menuItem: {
500 speak: '$name $role $if($haspopup, @has_submenu) ' + 485 speak: '$name $role $if($haspopup, @has_submenu) ' +
501 '@describe_index($indexInParent, $parentChildCount) ' + 486 '@describe_index($indexInParent, $parentChildCount) ' +
502 '$description' 487 '$description $state'
503 }, 488 },
504 menuItemCheckBox: { 489 menuItemCheckBox: {
505 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + 490 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' +
506 '$name $role $checked $description ' + 491 '$name $role $checked $description ' +
507 '@describe_index($indexInParent, $parentChildCount) ' 492 '@describe_index($indexInParent, $parentChildCount) '
508 }, 493 },
509 menuItemRadio: { 494 menuItemRadio: {
510 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + 495 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' +
511 '$if($checked, @describe_radio_selected($name), ' + 496 '$if($checked, @describe_radio_selected($name), ' +
512 '@describe_radio_unselected($name)) $description ' + 497 '@describe_radio_unselected($name)) $description ' +
513 '@describe_index($indexInParent, $parentChildCount) ' 498 '@describe_index($indexInParent, $parentChildCount) '
514 }, 499 },
515 menuListOption: { 500 menuListOption: {
516 speak: '$name @role_menuitem ' + 501 speak: '$name @role_menuitem ' +
517 '@describe_index($indexInParent, $parentChildCount) $description' 502 '@describe_index($indexInParent, $parentChildCount) $description'
518 }, 503 },
519 paragraph: { 504 paragraph: {
520 speak: '$descendants' 505 speak: '$descendants'
521 }, 506 },
522 popUpButton: { 507 popUpButton: {
523 speak: '$value $name $role @aria_has_popup ' + 508 speak: '$value $name $role @aria_has_popup ' +
524 '$if($collapsed, @aria_expanded_false, @aria_expanded_true) ' + 509 '$state $description'
525 '$description'
526 }, 510 },
527 radioButton: { 511 radioButton: {
528 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + 512 speak: '$if($checked, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' +
529 '$if($checked, @describe_radio_selected($name), ' + 513 '$if($checked, @describe_radio_selected($name), ' +
530 '@describe_radio_unselected($name)) $description' 514 '@describe_radio_unselected($name)) $description'
531 }, 515 },
532 radioGroup: { 516 radioGroup: {
533 enter: '$name $role $description' 517 enter: '$name $role $description'
534 }, 518 },
535 rootWebArea: { 519 rootWebArea: {
536 enter: '$name', 520 enter: '$name',
537 speak: '$if($name, $name, $docUrl)' 521 speak: '$if($name, $name, $docUrl)'
538 }, 522 },
539 region: { 523 region: {
540 speak: '$descendants' 524 speak: '$descendants'
541 }, 525 },
542 row: { 526 row: {
543 enter: '$node(tableRowHeader)' 527 enter: '$node(tableRowHeader)'
544 }, 528 },
545 rowHeader: { 529 rowHeader: {
546 speak: '$descendants' 530 speak: '$descendants $state'
547 }, 531 },
548 slider: { 532 slider: {
549 speak: '$earcon(SLIDER) @describe_slider($value, $name) $description' 533 speak: '$earcon(SLIDER) @describe_slider($value, $name) $description ' +
534 '$state'
550 }, 535 },
551 staticText: { 536 staticText: {
552 speak: '$name=' 537 speak: '$name='
553 }, 538 },
554 tab: { 539 tab: {
555 speak: '@describe_tab($name)' 540 speak: '@describe_tab($name) $state $description'
556 }, 541 },
557 table: { 542 table: {
558 enter: '@table_summary($name, $tableRowCount, $tableColumnCount) ' + 543 enter: '@table_summary($name, $tableRowCount, $tableColumnCount) ' +
559 '$node(tableHeader)' 544 '$node(tableHeader)'
560 }, 545 },
561 tableHeaderContainer: { 546 tableHeaderContainer: {
562 speak: '$descendants' 547 speak: '$descendants $state $description'
563 }, 548 },
564 textField: { 549 textField: {
565 speak: '$name $value $if($multiline, @tag_textarea, $if(' + 550 speak: '$name $value $if($multiline, @tag_textarea, $if(' +
566 '$inputType, $inputType, $role)) $description $state', 551 '$inputType, $inputType, $role)) $description $state',
567 braille: '' 552 braille: ''
568 }, 553 },
569 toggleButton: { 554 toggleButton: {
570 speak: '$if($pressed, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' + 555 speak: '$if($pressed, $earcon(CHECK_ON), $earcon(CHECK_OFF)) ' +
571 '$name $role $pressed $description' 556 '$name $role ' +
557 '$if($pressed, @aria_pressed_true, @aria_pressed_false) ' +
558 '$description $state'
572 }, 559 },
573 toolbar: { 560 toolbar: {
574 enter: '$name $role $description' 561 enter: '$name $role $description'
575 }, 562 },
576 tree: { 563 tree: {
577 enter: '$name $role @@list_with_items($countChildren(treeItem))' 564 enter: '$name $role @@list_with_items($countChildren(treeItem))'
578 }, 565 },
579 treeItem: { 566 treeItem: {
580 enter: '$role $expanded $collapsed ' + 567 enter: '$role $expanded $collapsed ' +
581 '@describe_index($indexInParent, $parentChildCount) ' + 568 '@describe_index($indexInParent, $parentChildCount) ' +
582 '@describe_depth($hierarchicalLevel)', 569 '@describe_depth($hierarchicalLevel)',
583 speak: '$name ' + 570 speak: '$name ' +
584 '$role $expanded $collapsed ' + 571 '$role $state ' +
585 '@describe_index($indexInParent, $parentChildCount) ' + 572 '@describe_index($indexInParent, $parentChildCount) ' +
586 '@describe_depth($hierarchicalLevel)' 573 '@describe_depth($hierarchicalLevel)'
587 }, 574 },
588 window: { 575 window: {
589 enter: '@describe_window($name)', 576 enter: '@describe_window($name)',
590 speak: '@describe_window($name) $earcon(OBJECT_OPEN)' 577 speak: '@describe_window($name) $earcon(OBJECT_OPEN)'
591 } 578 }
592 }, 579 },
593 menuStart: { 580 menuStart: {
594 'default': { 581 'default': {
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 } 1099 }
1113 } else if (token == 'parentChildCount') { 1100 } else if (token == 'parentChildCount') {
1114 if (node.parent) { 1101 if (node.parent) {
1115 options.annotation.push(token); 1102 options.annotation.push(token);
1116 var count = node.parent.children.filter(function(child) { 1103 var count = node.parent.children.filter(function(child) {
1117 return node.role == child.role; 1104 return node.role == child.role;
1118 }).length; 1105 }).length;
1119 this.append_(buff, String(count)); 1106 this.append_(buff, String(count));
1120 } 1107 }
1121 } else if (token == 'state') { 1108 } else if (token == 'state') {
1122 options.annotation.push(token);
1123 Object.getOwnPropertyNames(node.state).forEach(function(s) { 1109 Object.getOwnPropertyNames(node.state).forEach(function(s) {
1124 var stateInfo = Output.STATE_INFO_[s]; 1110 var stateInfo = Output.STATE_INFO_[s];
1125 if (stateInfo && stateInfo.on) 1111 if (stateInfo && stateInfo.on)
1126 this.append_(buff, Msgs.getMsg(stateInfo.on.msgId), options); 1112 this.format_(node, '@' + stateInfo.on.msgId, buff);
1127 }.bind(this)); 1113 }.bind(this));
1128 } else if (token == 'find') { 1114 } else if (token == 'find') {
1129 // Find takes two arguments: JSON query string and format string. 1115 // Find takes two arguments: JSON query string and format string.
1130 if (tree.firstChild) { 1116 if (tree.firstChild) {
1131 var jsonQuery = tree.firstChild.value; 1117 var jsonQuery = tree.firstChild.value;
1132 node = node.find( 1118 node = node.find(
1133 /** @type {Object}*/(JSON.parse(jsonQuery))); 1119 /** @type {Object}*/(JSON.parse(jsonQuery)));
1134 var formatString = tree.firstChild.nextSibling; 1120 var formatString = tree.firstChild.nextSibling;
1135 if (node) 1121 if (node)
1136 this.format_(node, formatString, buff); 1122 this.format_(node, formatString, buff);
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 break; 1693 break;
1708 } 1694 }
1709 earconFinder = earconFinder.parent; 1695 earconFinder = earconFinder.parent;
1710 } 1696 }
1711 } 1697 }
1712 return null; 1698 return null;
1713 } 1699 }
1714 }; 1700 };
1715 1701
1716 }); // goog.scope 1702 }); // goog.scope
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/resources/chromeos/chromevox/cvox2/background/output_test.extjs » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698