-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmappings.json
More file actions
108 lines (102 loc) · 19.7 KB
/
mappings.json
File metadata and controls
108 lines (102 loc) · 19.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{
"$comment": "CUP platform mapping tables. Maps native roles, states, and actions to canonical CUP equivalents. This file is the source of truth for all platform adapters.",
"roles": {
"$comment": "Key = CUP canonical role. Value = mapping per platform. '?' suffix means context-dependent (adapter must inspect additional properties).",
"alert": { "windows": "Text?", "macos": "AXGroup:AXApplicationAlert", "linux": "ROLE_ALERT", "web": "alert", "android": null, "ios": "staticText+alert" },
"alertdialog": { "windows": "Window?", "macos": "AXSheet", "linux": "ROLE_ALERT", "web": "alertdialog", "android": "android.app.AlertDialog", "ios": null },
"application": { "windows": "Window?", "macos": "AXApplication", "linux": "ROLE_APPLICATION", "web": "application", "android": null, "ios": "application" },
"banner": { "windows": null, "macos": null, "linux": null, "web": "banner", "android": null, "ios": null },
"button": { "windows": "Button", "macos": "AXButton", "linux": "ROLE_PUSH_BUTTON", "web": "button", "android": "android.widget.Button", "ios": "button" },
"cell": { "windows": "DataItem", "macos": "AXCell", "linux": "ROLE_TABLE_CELL", "web": "cell", "android": null, "ios": null },
"checkbox": { "windows": "CheckBox", "macos": "AXCheckBox", "linux": "ROLE_CHECK_BOX", "web": "checkbox", "android": "android.widget.CheckBox", "ios": "button+selected?" },
"columnheader": { "windows": "HeaderItem", "macos": "AXColumn", "linux": "ROLE_COLUMN_HEADER", "web": "columnheader", "android": null, "ios": null },
"combobox": { "windows": "ComboBox", "macos": "AXComboBox", "linux": "ROLE_COMBO_BOX", "web": "combobox", "android": "android.widget.Spinner", "ios": "picker?" },
"complementary": { "windows": null, "macos": null, "linux": null, "web": "complementary", "android": null, "ios": null },
"contentinfo": { "windows": null, "macos": null, "linux": null, "web": "contentinfo", "android": null, "ios": null },
"dialog": { "windows": "Window?", "macos": "AXWindow:AXDialog", "linux": "ROLE_DIALOG", "web": "dialog", "android": "android.app.Dialog", "ios": null },
"document": { "windows": "Document", "macos": "AXWebArea", "linux": "ROLE_DOCUMENT_FRAME","web": "document", "android": "android.webkit.WebView", "ios": "webView?" },
"form": { "windows": "Group?", "macos": "AXGroup", "linux": "ROLE_FORM", "web": "form", "android": null, "ios": null },
"generic": { "windows": "Pane?|Custom", "macos": "AXGroup?|AXUnknown", "linux": "ROLE_PANEL", "web": "generic", "android": "android.view.View", "ios": "other" },
"grid": { "windows": "DataGrid", "macos": "AXTable?", "linux": "ROLE_TABLE", "web": "grid", "android": "android.widget.GridView", "ios": "table?" },
"group": { "windows": "Group|Pane?", "macos": "AXGroup", "linux": "ROLE_PANEL", "web": "group", "android": "android.view.ViewGroup", "ios": null },
"heading": { "windows": "Text?", "macos": "AXHeading", "linux": "ROLE_HEADING", "web": "heading", "android": null, "ios": "header" },
"img": { "windows": "Image", "macos": "AXImage", "linux": "ROLE_IMAGE", "web": "img", "android": "android.widget.ImageView", "ios": "image" },
"link": { "windows": "Hyperlink", "macos": "AXLink", "linux": "ROLE_LINK", "web": "link", "android": null, "ios": "link" },
"list": { "windows": "List", "macos": "AXList", "linux": "ROLE_LIST", "web": "list", "android": "android.widget.ListView", "ios": "list?" },
"listitem": { "windows": "ListItem", "macos": "AXGroup?", "linux": "ROLE_LIST_ITEM", "web": "listitem", "android": null, "ios": null },
"log": { "windows": null, "macos": null, "linux": "ROLE_LOG", "web": "log", "android": null, "ios": null },
"main": { "windows": null, "macos": null, "linux": null, "web": "main", "android": null, "ios": null },
"marquee": { "windows": null, "macos": null, "linux": "ROLE_MARQUEE", "web": "marquee", "android": null, "ios": null },
"menu": { "windows": "Menu", "macos": "AXMenu", "linux": "ROLE_MENU", "web": "menu", "android": "android.widget.PopupMenu?", "ios": null },
"menubar": { "windows": "MenuBar", "macos": "AXMenuBar", "linux": "ROLE_MENU_BAR", "web": "menubar", "android": null, "ios": null },
"menuitem": { "windows": "MenuItem", "macos": "AXMenuItem", "linux": "ROLE_MENU_ITEM", "web": "menuitem", "android": null, "ios": null },
"menuitemcheckbox": { "windows": "MenuItem?", "macos": "AXMenuItem?", "linux": "ROLE_CHECK_MENU_ITEM","web": "menuitemcheckbox","android": null, "ios": null },
"menuitemradio": { "windows": "MenuItem?", "macos": "AXMenuItem?", "linux": "ROLE_RADIO_MENU_ITEM","web": "menuitemradio", "android": null, "ios": null },
"navigation": { "windows": null, "macos": "AXGroup:AXLandmarkNavigation","linux": null, "web": "navigation", "android": null, "ios": null },
"none": { "windows": null, "macos": null, "linux": null, "web": "none", "android": null, "ios": null },
"option": { "windows": "ListItem?", "macos": "AXStaticText?", "linux": "ROLE_LIST_ITEM?", "web": "option", "android": null, "ios": null },
"progressbar": { "windows": "ProgressBar", "macos": "AXProgressIndicator", "linux": "ROLE_PROGRESS_BAR", "web": "progressbar", "android": "android.widget.ProgressBar", "ios": "progressIndicator?" },
"radio": { "windows": "RadioButton", "macos": "AXRadioButton", "linux": "ROLE_RADIO_BUTTON", "web": "radio", "android": "android.widget.RadioButton", "ios": null },
"region": { "windows": "Pane?", "macos": "AXGroup:AXLandmarkRegion", "linux": "ROLE_SECTION", "web": "region", "android": null, "ios": null },
"row": { "windows": "DataItem?", "macos": "AXRow", "linux": "ROLE_TABLE_ROW", "web": "row", "android": null, "ios": null },
"rowheader": { "windows": "HeaderItem?", "macos": "AXCell?", "linux": "ROLE_ROW_HEADER", "web": "rowheader", "android": null, "ios": null },
"scrollbar": { "windows": "ScrollBar", "macos": "AXScrollBar", "linux": "ROLE_SCROLL_BAR", "web": "scrollbar", "android": null, "ios": null },
"search": { "windows": null, "macos": "AXGroup:AXLandmarkSearch", "linux": null, "web": "search", "android": null, "ios": "searchField" },
"searchbox": { "windows": "Edit?", "macos": "AXTextField:AXSearchField", "linux": "ROLE_ENTRY?", "web": "searchbox", "android": "android.widget.SearchView?", "ios": "searchField" },
"separator": { "windows": "Separator", "macos": "AXSplitter", "linux": "ROLE_SEPARATOR", "web": "separator", "android": null, "ios": null },
"slider": { "windows": "Slider", "macos": "AXSlider", "linux": "ROLE_SLIDER", "web": "slider", "android": "android.widget.SeekBar", "ios": "slider" },
"spinbutton": { "windows": "Spinner", "macos": "AXIncrementor", "linux": "ROLE_SPIN_BUTTON", "web": "spinbutton", "android": null, "ios": null },
"status": { "windows": "StatusBar", "macos": "AXStaticText?", "linux": "ROLE_STATUS_BAR", "web": "status", "android": null, "ios": null },
"switch": { "windows": "CheckBox?", "macos": "AXCheckBox?", "linux": "ROLE_TOGGLE_BUTTON?","web": "switch", "android": "android.widget.Switch", "ios": "switch" },
"tab": { "windows": "TabItem", "macos": "AXRadioButton?", "linux": "ROLE_PAGE_TAB", "web": "tab", "android": null, "ios": "tab?" },
"table": { "windows": "Table", "macos": "AXTable", "linux": "ROLE_TABLE", "web": "table", "android": null, "ios": null },
"tablist": { "windows": "Tab", "macos": "AXTabGroup", "linux": "ROLE_PAGE_TAB_LIST", "web": "tablist", "android": "android.widget.TabWidget", "ios": "tabBar" },
"tabpanel": { "windows": "Pane?", "macos": "AXGroup?", "linux": "ROLE_SCROLL_PANE?", "web": "tabpanel", "android": null, "ios": null },
"text": { "windows": "Text", "macos": "AXStaticText", "linux": "ROLE_LABEL", "web": null, "android": "android.widget.TextView", "ios": "staticText" },
"textbox": { "windows": "Edit", "macos": "AXTextField|AXTextArea", "linux": "ROLE_ENTRY|ROLE_TEXT","web": "textbox", "android": "android.widget.EditText", "ios": "textField|textView" },
"timer": { "windows": null, "macos": null, "linux": "ROLE_TIMER", "web": "timer", "android": null, "ios": null },
"titlebar": { "windows": "TitleBar", "macos": null, "linux": null, "web": null, "android": null, "ios": null },
"toolbar": { "windows": "ToolBar", "macos": "AXToolbar", "linux": "ROLE_TOOL_BAR", "web": "toolbar", "android": null, "ios": "toolbar" },
"tooltip": { "windows": "ToolTip", "macos": "AXHelpTag", "linux": "ROLE_TOOL_TIP", "web": "tooltip", "android": "android.widget.Toast?", "ios": null },
"tree": { "windows": "Tree", "macos": "AXOutline", "linux": "ROLE_TREE", "web": "tree", "android": null, "ios": null },
"treeitem": { "windows": "TreeItem", "macos": "AXRow?", "linux": "ROLE_TREE_ITEM", "web": "treeitem", "android": null, "ios": null },
"window": { "windows": "Window", "macos": "AXWindow", "linux": "ROLE_FRAME", "web": null, "android": null, "ios": "window" }
},
"states": {
"$comment": "Key = CUP canonical state. Value = how each platform expresses it.",
"busy": { "windows": "UIA_IsContentElementPropertyId?", "macos": "AXElementBusy", "linux": "STATE_BUSY", "web": "aria-busy=true", "android": null, "ios": null },
"checked": { "windows": "ToggleState.On", "macos": "AXValue=1", "linux": "STATE_CHECKED", "web": "aria-checked=true", "android": "isChecked", "ios": "selected+checkbox?" },
"collapsed": { "windows": "ExpandCollapseState.Collapsed", "macos": "AXExpanded=false", "linux": "STATE_COLLAPSED", "web": "aria-expanded=false","android": "!isExpanded", "ios": null },
"disabled": { "windows": "IsEnabled=false", "macos": "AXEnabled=false", "linux": "!STATE_ENABLED", "web": "aria-disabled=true", "android": "!isEnabled", "ios": "!isAccessibilityElement?" },
"editable": { "windows": "ValuePattern.IsReadOnly=false", "macos": null, "linux": "STATE_EDITABLE", "web": "contenteditable", "android": "isEditable", "ios": null },
"expanded": { "windows": "ExpandCollapseState.Expanded", "macos": "AXExpanded=true", "linux": "STATE_EXPANDED", "web": "aria-expanded=true", "android": "isExpanded", "ios": null },
"focused": { "windows": "HasKeyboardFocus=true", "macos": "AXFocused=true", "linux": "STATE_FOCUSED", "web": ":focus", "android": "isFocused", "ios": "isFocused?" },
"hidden": { "windows": "IsOffscreen=true", "macos": null, "linux": "!STATE_VISIBLE", "web": "aria-hidden=true", "android": "!isVisible", "ios": "!isAccessibilityElement" },
"mixed": { "windows": "ToggleState.Indeterminate", "macos": "AXValue=2", "linux": "STATE_INDETERMINATE","web": "aria-checked=mixed","android": null, "ios": null },
"modal": { "windows": "WindowPattern.IsModal", "macos": "AXModal=true", "linux": "STATE_MODAL", "web": "aria-modal=true", "android": null, "ios": "modal" },
"multiselectable": { "windows": "SelectionPattern.CanSelectMultiple","macos": null, "linux": "STATE_MULTISELECTABLE","web": "aria-multiselectable=true","android": "isMultiSelectable","ios": null },
"offscreen": { "windows": "IsOffscreen=true", "macos": null, "linux": "!STATE_SHOWING", "web": null, "android": "!isVisibleToUser","ios": null },
"pressed": { "windows": "ToggleState.On (Button)", "macos": "AXValue=1 (Button)", "linux": "STATE_PRESSED", "web": "aria-pressed=true", "android": "isSelected?", "ios": "selected+button?" },
"readonly": { "windows": "ValuePattern.IsReadOnly=true", "macos": null, "linux": "STATE_READ_ONLY", "web": "aria-readonly=true", "android": "!isEditable", "ios": null },
"required": { "windows": "IsRequiredForForm=true", "macos": "AXRequired=true", "linux": "STATE_REQUIRED", "web": "aria-required=true", "android": null, "ios": null },
"selected": { "windows": "SelectionItemPattern.IsSelected", "macos": "AXSelected=true", "linux": "STATE_SELECTED", "web": "aria-selected=true", "android": "isSelected", "ios": "selected" }
},
"actions": {
"$comment": "Key = CUP canonical action. Value = how each platform exposes it.",
"click": { "windows": "InvokePattern.Invoke", "macos": "AXPress", "linux": "Action.click", "web": "click()", "android": "ACTION_CLICK", "ios": "activate" },
"collapse": { "windows": "ExpandCollapsePattern.Collapse", "macos": "AXPress?", "linux": "Action.collapse?", "web": "aria-expanded=false", "android": "ACTION_COLLAPSE", "ios": null },
"decrement": { "windows": "RangeValuePattern.SetValue(-)", "macos": "AXDecrement", "linux": "Action.decrement", "web": null, "android": "ACTION_SCROLL_BACKWARD","ios": "decrement" },
"dismiss": { "windows": "WindowPattern.Close", "macos": "AXRaise?", "linux": "Action.dismiss?", "web": null, "android": "ACTION_DISMISS", "ios": null },
"doubleclick":{ "windows": "SendInput(double-click)", "macos": "AXPress(count=2)?", "linux": "Action.click(count=2)?","web": "dblclick()", "android": null, "ios": null },
"expand": { "windows": "ExpandCollapsePattern.Expand", "macos": "AXPress?", "linux": "Action.expand?", "web": "aria-expanded=true", "android": "ACTION_EXPAND", "ios": null },
"focus": { "windows": "SetFocus()", "macos": "AXRaise", "linux": "Component.grabFocus", "web": "focus()", "android": "ACTION_FOCUS", "ios": null },
"increment": { "windows": "RangeValuePattern.SetValue(+)", "macos": "AXIncrement", "linux": "Action.increment", "web": null, "android": "ACTION_SCROLL_FORWARD", "ios": "increment" },
"longpress": { "windows": null, "macos": null, "linux": null, "web": null, "android": "ACTION_LONG_CLICK", "ios": null },
"rightclick": { "windows": "SendInput(right-click)", "macos": "AXShowMenu?", "linux": "Action.contextMenu?", "web": "contextmenu()", "android": "ACTION_LONG_CLICK?", "ios": null },
"scroll": { "windows": "ScrollPattern.Scroll", "macos": "AXScrollToVisible", "linux": "Action.scroll", "web": "scrollIntoView()", "android": "ACTION_SCROLL_FORWARD", "ios": "scroll" },
"select": { "windows": "SelectionItemPattern.Select", "macos": "AXPress", "linux": "Action.select", "web": "click()", "android": "ACTION_SELECT", "ios": "activate" },
"setvalue": { "windows": "ValuePattern.SetValue", "macos": "AXValue=", "linux": "Value.setCurrentValue", "web": "value=", "android": "ACTION_SET_TEXT", "ios": "setValue" },
"toggle": { "windows": "TogglePattern.Toggle", "macos": "AXPress", "linux": "Action.toggle?", "web": "click()", "android": "ACTION_CLICK", "ios": "activate" },
"type": { "windows": "ValuePattern.SetValue", "macos": "AXValue=|AXInsertText","linux": "Text.insertText", "web": "input events", "android": "ACTION_SET_TEXT", "ios": "typeText" }
}
}