1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @fileoverview This class acts as the persistent store for all static data 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * about commands. 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * This store can safely be used within either a content or background script 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * context. 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * If you are looking to add a user command, follow the below steps for best 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * integration with existing components: 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 1. Add a command below in cvox.CommandStore.CMD_WHITELIST. Pick a 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * programmatic name and fill in each of the relevant JSON keys. 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Be sure to add a msg id and define it in chromevox/messages/messages.js which 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * describes the command. Please also add a category msg id so that the command 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * will show up in the options page. 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 2. Add the command's logic to cvox.UserCommands inside of our switch-based 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * dispatch method (doCommand_). 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 3. Add a key binding in chromevox/background/keymaps/classic_keymap.json and 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * chromevox/background/keymaps/flat_keymap.json. 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Class description: 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * This class is entirely static and holds a JSON structure that stores 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * commands and their associated metadata. 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * From this metadata, we compute relevant subsets of data such as all present 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * categories. 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.provide('cvox.CommandStore'); 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.PlatformFilter'); 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Returns all of the categories in the store as an array. 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Array.<string>} The collection of categories. 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.CommandStore.categories = function() { 44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) var categorySet = {}; 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) for (var cmd in cvox.CommandStore.CMD_WHITELIST) { 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) var struct = cvox.CommandStore.CMD_WHITELIST[cmd]; 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) if (struct.category) { 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) categorySet[struct.category] = true; 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) var ret = []; 52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) for (var category in categorySet) { 53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ret.push(category); 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return ret; 56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 60cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Gets a message given a command. 61cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {string} command The command to query. 62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {string|undefined} The message id, if any. 63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 64cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.CommandStore.messageForCommand = function(command) { 65cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return (cvox.CommandStore.CMD_WHITELIST[command] || {}).msgId; 66cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 67cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 68cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 69cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Gets a category given a command. 71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {string} command The command to query. 72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {string|undefined} The command, if any. 73cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 74cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.CommandStore.categoryForCommand = function(command) { 75cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return (cvox.CommandStore.CMD_WHITELIST[command] || {}).category; 76cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 77cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 78cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 79cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 80cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Gets all commands for a category. 81cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {string} category The category to query. 82cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Array.<string>} The commands, if any. 83cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 84cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.CommandStore.commandsForCategory = function(category) { 85cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) var ret = []; 86cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) for (var cmd in cvox.CommandStore.CMD_WHITELIST) { 87cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) var struct = cvox.CommandStore.CMD_WHITELIST[cmd]; 88cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) if (category == struct.category) { 89cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ret.push(cmd); 90cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 91cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 92cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return ret; 93cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 94cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 95cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 96cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 97cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * List of commands and their properties 98cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @type {Object.<string, {forward: (undefined|boolean), 99cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * backward: (undefined|boolean), 100cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * announce: boolean, 101cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * category: (undefined|string), 102cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * findNext: (undefined|string), 103cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * doDefault: (undefined|boolean), 104cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * msgId: (undefined|string), 105cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * nodeList: (undefined|string), 106cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * platformFilter: (undefined|cvox.PlatformFilter), 107cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * skipInput: (undefined|boolean), 108cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * allowEvents: (undefined|boolean), 109cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * disallowContinuation: (undefined|boolean) 110cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * }>} 111cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * forward: Whether this command points forward. 112cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * backward: Whether this command points backward. If neither forward or 113cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * backward are specified, it stays facing in the current direction. 114cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * announce: Whether to call finishNavCommand and announce the current 115cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * position after the command is done. 116cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * findNext: The id from the map above if this command is used for 117cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * finding next/previous of something. 118cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * category: The message resource describing the command's category. 119cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * doDefault: Whether to do the default action. This means that keys will be 120cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * passed through to the usual DOM capture/bubble phases. 121cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * msgId: The message resource describing the command. 122cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * nodeList: The id from the map above if this command is used for 123cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * showing a list of nodes. 124cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * platformFilter: Specifies to which platforms this command applies. If left 125cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * undefined, the command applies to all platforms. 126cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * skipInput: Explicitly skips this command when text input has focus. 127cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Defaults to false. 128cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * disallowOOBE: Explicitly disallows this command when on chrome://oobe/*. 129cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Defaults to false. 130cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * allowEvents: Allows EventWatcher to continue processing events which can 131cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * trump TTS. 132cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * disallowContinuation: Disallows continuous read to proceed. Defaults to 133cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * false. 134cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 135cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.CommandStore.CMD_WHITELIST = { 136cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleStickyMode': {announce: false, 137cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'toggle_sticky_mode', 138cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'disallowOOBE': true, 139cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'modifier_keys'}, 140cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleKeyPrefix': {announce: false, 141cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 142cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'prefix_key', 143cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'disallowOOBE': true, 144cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'modifier_keys'}, 145cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'passThroughMode': {announce: false, 146cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'pass_through_key_description', 147cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'modifier_keys'}, 148cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 149cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'stopSpeech': {announce: false, 150cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 151cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) doDefault: true, 152cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'stop_speech_key', 153cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 154cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleChromeVox': {announce: false, 155cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) platformFilter: cvox.PlatformFilter.WML, 156cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'toggle_chromevox_active', 157cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 158cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'decreaseTtsRate': {announce: false, 159cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'decrease_tts_rate', 160cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 161cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'increaseTtsRate': {announce: false, 162cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'increase_tts_rate', 163cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 164cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'decreaseTtsPitch': {announce: false, 165cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'decrease_tts_pitch', 166cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 167cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'increaseTtsPitch': {announce: false, 168cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'increase_tts_pitch', 169cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 170cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'decreaseTtsVolume': {announce: false, 171cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'decrease_tts_volume', 172cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 173cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'increaseTtsVolume': {announce: false, 174cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'increase_tts_volume', 175cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 176cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'cyclePunctuationEcho': {announce: false, 177cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'cycle_punctuation_echo', 178cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 179cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'cycleTypingEcho': {announce: false, 180cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'cycle_typing_echo', 181cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 182cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 183cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 184cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleEarcons': {announce: true, 185cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'toggle_earcons', 186cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'controlling_speech'}, 187cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 188cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'handleTab': { 189cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) allowEvents: true, 190cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'handle_tab_next', 191cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 192cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 193cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'handleTabPrev': { 194cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) allowEvents: true, 195cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'handle_tab_prev', 196cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 197cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 198cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'forward': {forward: true, 199cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 200cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'forward', 201cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 202cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'backward': {backward: true, 203cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 204cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'backward', 205cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 206cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'right': {forward: true, 207cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 208cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'right', 209cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 210cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'left': {backward: true, 211cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 212cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'left', 213cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 214cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousGranularity': {announce: true, 215cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_granularity', 216cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 217cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextGranularity': {announce: true, 218cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_granularity', 219cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 220cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 221cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousCharacter': {backward: true, 222cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 223cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_character', 224cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 225cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 226cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextCharacter': {forward: true, 227cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 228cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_character', 229cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 230cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 231cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousWord': {backward: true, 232cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 233cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_word', 234cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 235cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 236cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextWord': {forward: true, 237cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 238cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_word', 239cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 240cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 241cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousLine': {backward: true, 242cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 243cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_line', 244cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 245cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextLine': {forward: true, 246cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 247cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_line', 248cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 249cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousSentence': {backward: true, 250cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 251cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_sentence', 252cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 253cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 254cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextSentence': {forward: true, 255cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 256cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_sentence', 257cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 258cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 259cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousObject': {backward: true, 260cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 261cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_object', 262cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 263cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 264cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextObject': {forward: true, 265cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 266cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_object', 267cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 268cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 269cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousGroup': {backward: true, 270cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 271cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_group', 272cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 273cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 274cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextGroup': {forward: true, 275cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 276cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_group', 277cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 278cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 279cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 280cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'jumpToTop': {forward: true, 281cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 282cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'jump_to_top', 283cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation' 284cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}, 285cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'jumpToBottom': {backward: true, 286cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 287cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'jump_to_bottom', 288cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 289cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Intentionally uncategorized. 290cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'moveToStartOfLine': {forward: true, announce: true}, 291cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'moveToEndOfLine': {backward: true, announce: true}, 292cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 293cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'readFromHere': {forward: true, 294cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: false, 295cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'read_from_here', 296cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 297cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 298cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'performDefaultAction': {disallowContinuation: true, 299cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'perform_default_action', 300cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) doDefault: true, 301cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) skipInput: true, 302cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 303cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'forceClickOnCurrentItem': {announce: true, 304cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 305cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) allowEvents: true, 306cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'force_click_on_current_item', 307cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 308cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'forceDoubleClickOnCurrentItem': {announce: true, 309cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) allowEvents: true, 310cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true}, 311cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 312cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'readLinkURL': {announce: false, 313cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'read_link_url', 314cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 315cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'readCurrentTitle': {announce: false, 316cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'read_current_title', 317cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 318cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'readCurrentURL': {announce: false, 319cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'read_current_url', 320cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 321cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 322cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'fullyDescribe': {announce: false, 323cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'fully_describe', 324cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 325cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'speakTimeAndDate': {announce: false, 326cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'speak_time_and_date', 327cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 328cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleSelection': {announce: true, 329cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'toggle_selection', 330cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 331cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 332cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleSearchWidget': {announce: false, 333cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 334cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'toggle_search_widget', 335cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 336cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 337cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleKeyboardHelp': {announce: false, 338cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 339cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_power_key', 340cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'help_commands'}, 341cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'help': {announce: false, 342cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'help', 343cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'disallowOOBE': true, 344cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 345cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'help_commands'}, 346cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'contextMenu': {announce: false, 347cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true}, 348cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 349cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showOptionsPage': {announce: false, 350cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 351cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_options_page', 352cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'disallowOOBE': true, 353cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'help_commands'}, 354cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showKbExplorerPage': {announce: false, 355cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 356cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_kb_explorer_page', 357cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'disallowOOBE': true, 358cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'help_commands'}, 359cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 360cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 361cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showFormsList': {announce: false, 362cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 363cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) nodeList: 'formField', 364cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_forms_list', 365cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'overview'}, 366cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showHeadingsList': {announce: false, nodeList: 'heading', 367cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 368cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_headings_list', 369cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'overview'}, 370cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showLandmarksList': {announce: false, nodeList: 'landmark', 371cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 372cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_landmarks_list', 373cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'overview'}, 374cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showLinksList': {announce: false, nodeList: 'link', 375cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 376cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_links_list', 377cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'overview'}, 378cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'showTablesList': {announce: false, nodeList: 'table', 379cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) disallowContinuation: true, 380cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'show_tables_list', 381cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'overview'}, 382cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 383cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextArticle': {forward: true, 384cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'article'}, 385cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 386cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextButton': {forward: true, 387cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'button', 388cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_button', 389cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 390cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextCheckbox': {forward: true, 391cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'checkbox', 392cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_checkbox', 393cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 394cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextComboBox': {forward: true, 395cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'combobox', 396cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_combo_box', 397cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 398cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextControl': {forward: true, findNext: 'control'}, 399cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextEditText': {forward: true, 400cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'editText', 401cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_edit_text', 402cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 403cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextFormField': {forward: true, 404cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'formField', 405cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_form_field', 406cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 407cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextGraphic': {forward: true, 408cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'graphic', 409cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_graphic', 410cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 411cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading': {forward: true, 412cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading', 413cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading', 414cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 415cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading1': {forward: true, 416cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading1', 417cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading1', 418cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 419cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading2': {forward: true, 420cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading2', 421cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading2', 422cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 423cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading3': {forward: true, 424cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading3', 425cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading3', 426cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 427cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading4': {forward: true, 428cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading4', 429cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading4', 430cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 431cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading5': {forward: true, 432cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading5', 433cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading5', 434cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 435cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextHeading6': {forward: true, 436cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading6', 437cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_heading6', 438cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 439cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 440cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextLandmark': {forward: true, 441cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'landmark', 442cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_landmark', 443cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 444cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextLink': {forward: true, 445cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'link', 446cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_link', 447cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 448cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextList': {forward: true, 449cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'list', 450cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_list', 451cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 452cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextListItem': {forward: true, 453cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'listItem', 454cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_list_item', 455cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 456cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextMath': {forward: true, 457cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'math', 458cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_math', 459cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 460cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextMedia': {forward: true, 461cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'media', 462cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_media', 463cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 464cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextRadio': {forward: true, 465cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'radio', 466cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_radio', 467cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 468cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextSection': {forward: true, findNext: 'section'}, 469cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextSlider': {forward: true, findNext: 'slider'}, 470cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextTable': {forward: true, 471cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'table', 472cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_table', 473cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 474cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextVisitedLink': {forward: true, 475cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'visitedLink', 476cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'next_visited_link', 477cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 478cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 479cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 480cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousArticle': {backward: true, 481cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'article'}, 482cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 483cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousButton': {backward: true, 484cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'button', 485cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_button', 486cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 487cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousCheckbox': {backward: true, 488cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'checkbox', 489cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_checkbox', 490cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 491cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousComboBox': {backward: true, 492cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'combobox', 493cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_combo_box', 494cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 495cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousControl': {backward: true, findNext: 'control'}, 496cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousEditText': {backward: true, 497cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'editText', 498cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_edit_text', 499cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 500cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousFormField': {backward: true, 501cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'formField', 502cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_form_field', 503cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 504cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousGraphic': {backward: true, 505cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'graphic', 506cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_graphic', 507cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 508cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading': {backward: true, 509cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading', 510cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading', 511cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 512cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading1': {backward: true, 513cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading1', 514cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading1', 515cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 516cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading2': {backward: true, 517cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading2', 518cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading2', 519cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 520cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading3': {backward: true, 521cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading3', 522cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading3', 523cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 524cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading4': {backward: true, 525cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading4', 526cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading4', 527cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 528cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading5': {backward: true, 529cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading5', 530cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading5', 531cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 532cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousHeading6': {backward: true, 533cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'heading6', 534cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_heading6', 535cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 536cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 537cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousLandmark': {backward: true, 538cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'landmark', 539cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_landmark', 540cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 541cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousLink': {backward: true, 542cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'link', 543cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_link', 544cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 545cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousList': {backward: true, 546cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'list', 547cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_list', 548cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 549cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousListItem': {backward: true, 550cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'listItem', 551cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_list_item', 552cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 553cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousMath': {backward: true, 554cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'math', 555cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_math', 556cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 557cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousMedia': {backward: true, 558cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'media', 559cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_media', 560cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 561cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousRadio': {backward: true, 562cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'radio', 563cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_radio', 564cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 565cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousSection': {backward: true, findNext: 'section'}, 566cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousSlider': {backward: true, findNext: 'slider'}, 567cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousTable': {backward: true, 568cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'table', 569cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_table', 570cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 571cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousVisitedLink': {backward: true, 572cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) findNext: 'visitedLink', 573cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'previous_visited_link', 574cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'jump_commands'}, 575cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 576cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 577cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Table Actions. 578cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'announceHeaders': {announce: false, 579cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'announce_headers', 580cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 581cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'speakTableLocation': {announce: false, 582cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'speak_table_location', 583cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 584cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'goToFirstCell': {announce: true, 585cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'skip_to_beginning', 586cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 587cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'goToLastCell': {announce: true, 588cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'skip_to_end', 589cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 590cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'goToRowFirstCell': {announce: true, 591cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'skip_to_row_beginning', 592cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 593cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'goToRowLastCell': {announce: true, 594cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'skip_to_row_end', 595cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 596cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'goToColFirstCell': {announce: true, 597cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'skip_to_col_beginning', 598cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 599cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'goToColLastCell': {announce: true, 600cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'skip_to_col_end', 601cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'tables'}, 602cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // These commands are left out of the options page because they involve 603cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // multiple, non-user configurable modifiers. 604cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousRow': {backward: true, announce: true, skipInput: true}, 605cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'previousCol': {backward: true, announce: true, skipInput: true}, 606cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextRow': {forward: true, announce: true, skipInput: true}, 607cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nextCol': {forward: true, announce: true, skipInput: true}, 608cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 609cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Generic Actions. 610cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'enterShifter': {announce: true, 611cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'enter_content', 612cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 613cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'exitShifter': {announce: true, 614cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'exit_content', 615cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'navigation'}, 616cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'exitShifterContent': {announce: true}, 617cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 618cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'openLongDesc': {announce: false, 619cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'open_long_desc', 620cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 621cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 622cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'pauseAllMedia': {announce: false, 623cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'pause_all_media', 624cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 625cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 626cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Math specific commands. 627cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleSemantics': {announce: false, 628cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'toggle_semantics', 629cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'information'}, 630cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 631cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Braille specific commands. 632cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'routing': {announce: false, 633cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) allowEvents: true, 634cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_routing', 635cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 636cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'pan_left': {backward: true, 637cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 638cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_pan_left', 639cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 640cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'pan_right': {forward: true, 641cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 642cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_pan_right', 643cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 644cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'line_up': {backward: true, 645cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 646cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_line_up', 647cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 648cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'line_down': {forward: true, 649cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 650cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_line_down', 651cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 652cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'top': {forward: true, 653cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 654cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_top', 655cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 656cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'bottom': {backward: true, 657cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) announce: true, 658cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_bottom', 659cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'braille'}, 660cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 661cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Developer commands. 662cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'enableConsoleTts': {announce: false, 663cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'enable_tts_log', 664cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'developer'}, 665cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'toggleBrailleCaptions': {announce: false, 666cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) msgId: 'braille_captions', 667cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) category: 'developer'}, 668cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 669cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'startHistoryRecording': {announce: false}, 670cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'stopHistoryRecording': {announce: false}, 671cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'autorunner': {announce: false}, 672cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 673cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'debug': {announce: false}, 674cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 675cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'nop': {announce: false} 676cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 677cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 678cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 679cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 680cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * List of find next commands and their associated data. 681cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @type {Object.<string, {predicate: string, 682cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * forwardError: string, 683cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * backwardError: string}>} 684cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * predicate: The name of the predicate. This must be defined in DomPredicates. 685cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * forwardError: The message id of the error string when moving forward. 686cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * backwardError: The message id of the error string when moving backward. 687cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 688cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.CommandStore.NODE_INFO_MAP = { 689cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'checkbox': {predicate: 'checkboxPredicate', 690cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_checkbox', 691cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_checkbox', 692cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_checkbox'}, 693cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'radio': {predicate: 'radioPredicate', 694cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_radio_button', 695cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_radio_button', 696cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_radio'}, 697cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'slider': {predicate: 'sliderPredicate', 698cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_slider', 699cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_slider', 700cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_slider'}, 701cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'graphic': {predicate: 'graphicPredicate', 702cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_graphic', 703cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_graphic', 704cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'UNUSED'}, 705cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'article': {predicate: 'articlePredicate', 706cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_ARTICLE', 707cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_ARTICLE', 708cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'TAG_ARTICLE'}, 709cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'button': {predicate: 'buttonPredicate', 710cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_button', 711cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_button', 712cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_button'}, 713cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'combobox': {predicate: 'comboBoxPredicate', 714cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_combo_box', 715cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_combo_box', 716cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_combobox'}, 717cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'editText': {predicate: 'editTextPredicate', 718cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_edit_text', 719cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_edit_text', 720cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'input_type_text'}, 721cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading': {predicate: 'headingPredicate', 722cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading', 723cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading', 724cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_heading'}, 725cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading1': {predicate: 'heading1Predicate', 726cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading_1', 727cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading_1'}, 728cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading2': {predicate: 'heading2Predicate', 729cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading_2', 730cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading_2'}, 731cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading3': {predicate: 'heading3Predicate', 732cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading_3', 733cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading_3'}, 734cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading4': {predicate: 'heading4Predicate', 735cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading_4', 736cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading_4'}, 737cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading5': {predicate: 'heading5Predicate', 738cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading_5', 739cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading_5'}, 740cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'heading6': {predicate: 'heading6Predicate', 741cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_heading_6', 742cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_heading_6'}, 743cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 744cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'link': {predicate: 'linkPredicate', 745cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_link', 746cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_link', 747cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_link'}, 748cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'table': {predicate: 'tablePredicate', 749cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_table', 750cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_table', 751cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'table_strategy'}, 752cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'visitedLink': {predicate: 'visitedLinkPredicate', 753cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_visited_link', 754cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_visited_link', 755cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'tag_link'}, 756cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'list': {predicate: 'listPredicate', 757cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_list', 758cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_list', 759cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_list'}, 760cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'listItem': {predicate: 'listItemPredicate', 761cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_list_item', 762cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_list_item', 763cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_listitem'}, 764cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'formField': {predicate: 'formFieldPredicate', 765cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_form_field', 766cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_form_field', 767cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'aria_role_form'}, 768cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'landmark': {predicate: 'landmarkPredicate', 769cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_landmark', 770cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_landmark', 771cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'role_landmark'}, 772cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'math': {predicate: 'mathPredicate', 773cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_math', 774cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_math', 775cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) typeMsg: 'math_expr'}, 776cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'media': {predicate: 'mediaPredicate', 777cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_media_widget', 778cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_media_widget'}, 779cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'section': {predicate: 'sectionPredicate', 780cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_section', 781cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_section'}, 782cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'control': {predicate: 'controlPredicate', 783cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) forwardError: 'no_next_control', 784cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) backwardError: 'no_previous_control'} 785cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 786