From 8360b165f996e69685d8af97c8ed0e5bd041183e Mon Sep 17 00:00:00 2001 From: Bogdan Brinza Date: Mon, 10 Jul 2017 17:42:58 -0700 Subject: [PATCH] Update missing UIA mappings This change should cover all existing gaps in the UIA mapping for states, roles, attributes, etc. Most of the information in the mappings come from existing Microsoft Edge implementation, verified by Inspect.exe tool (part of Windows SDK). For other changes I've tried to map as close as possible to preexisting IA2/MSAA/ATK/AX mapping whenever it makes sense. Finally there are just a couple mappings defined as "Not mapped" - this reflects the fact that it is not mapped today, nor there is an existing UIA concept to map it to. --- index.html | 232 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 169 insertions(+), 63 deletions(-) diff --git a/index.html b/index.html index 52c602f4..70607a69 100644 --- a/index.html +++ b/index.html @@ -805,8 +805,10 @@

HTML Element Role Mappings

- ?TODO: look in more detail at UIA table implementation -
+
+ Control Type: Group +
+
Localized Control Type: "colgroup"
Not mapped
Not mapped
@@ -914,9 +916,10 @@

HTML Element Role Mappings

-
- Control Type: Group ??window?? -
+
+ Control Type: Group +
+
Localized Control Type: "details"
@@ -1141,9 +1144,9 @@

HTML Element Role Mappings

-
- Control Type: ?Pane? Window? -
+
+ Control Type: Pane +
@@ -2710,9 +2713,10 @@

HTML Element Role Mappings

-
- Control Type: Text ??Group?? -
+
+ Control Type: Text +
+
Localized Control Type: "pre"
@@ -2764,9 +2768,10 @@

HTML Element Role Mappings

-
- Control Type: Text ??Group?? -
+
+ Control Type: Text +
+
Localized Control Type: "q"
@@ -2800,9 +2805,9 @@

HTML Element Role Mappings

-
- Control Type: Text ??Group?? -
+
+ No accessible object. +
@@ -2822,9 +2827,9 @@

HTML Element Role Mappings

-
- Control Type: Text -
+
+ No accessible object. +
@@ -2843,9 +2848,10 @@

HTML Element Role Mappings

-
- Control Type: Text ??Group?? -
+
+ Control Type: Text +
+
Localized Control Type: "ruby"
@@ -3580,14 +3586,14 @@

HTML Attribute State and Property Mappings

abbr th -
Not mapped
+
Not mapped
Object attributes: "abbr" until child abbr element is provided
- ? + Not mapped
Object attributes: @@ -3878,7 +3884,11 @@

HTML Attribute State and Property Mappings

IAccessibleEditableText on this and every nested text accessible object
- ? + +
+ Control Pattern: TextEdit +
+
States: @@ -3919,7 +3929,7 @@

HTML Attribute State and Property Mappings

audio; video
Not mapped
Not mapped
- ? +
Not mapped
Not mapped
Controls exposed as AXToolbar @@ -3933,7 +3943,11 @@

HTML Attribute State and Property Mappings

Defines an accessible object's dimensions (IAccessible::accLocation)
- ? + +
+ Defines an accessible object's dimensions (BoundingRectangle) +
+
Defines an accessible object's dimensions, exposed via @@ -3972,7 +3986,7 @@

HTML Attribute State and Property Mappings

Object attributes: datetime: text content used as a value
- +
Not mapped
Object attributes: @@ -3990,7 +4004,7 @@

HTML Attribute State and Property Mappings

Object attributes: datetime: text content used as a value
- +
Not mapped
Object attributes: @@ -4091,7 +4105,7 @@

HTML Attribute State and Property Mappings

draggable:true
- ? +
Not mapped
Object attributes: @@ -4106,7 +4120,7 @@

HTML Attribute State and Property Mappings

HTML elements ?
Not mapped
- ? +
Not mapped
Not mapped
? @@ -4239,7 +4253,11 @@

HTML Attribute State and Property Mappings

Links the cell to its header cells. Exposed via IAccessibleTableCell::rowHeaderCells and IAccessibleTableCell::columnHeaderCells.
- ? + +
+ Links the cell to its header cells. Exposed via Table.ItemColumnHeaderItems and Table.ItemRowHeaderItems. +
+
Links the cell to its row and column header cells @@ -4259,7 +4277,11 @@

HTML Attribute State and Property Mappings

Defines an accessible object's height (IAccessible::accLocation)
- ? + +
+ Defines an accessible object's height (BoundingRectangle) +
+
Defines an accessible object's height (atk_component_get_size) @@ -4329,7 +4351,7 @@

HTML Attribute State and Property Mappings

a; area; link
Not mapped
Not mapped
- ? +
Not mapped
Not mapped
? @@ -4507,7 +4529,7 @@

HTML Attribute State and Property Mappings

meter ?
Not mapped
- ? + RangeValue.Minimum
Not mapped
? @@ -4522,7 +4544,7 @@

HTML Attribute State and Property Mappings

implements the interface
- ? + RangeValue.Maximum
Exposed as atk_value_get_maximum_value if the element @@ -4542,7 +4564,7 @@

HTML Attribute State and Property Mappings

implements the interface
- ? + RangeValue.Maximum
Exposed as atk_value_get_maximum_value if the element @@ -4557,7 +4579,7 @@

HTML Attribute State and Property Mappings

input; textarea ?
Not mapped
- ? +
Not mapped
Not mapped
? @@ -4592,7 +4614,7 @@

HTML Attribute State and Property Mappings

implements the interface
- ? + RangeValue.Minimum
Exposed as atk_value_get_minimum_value if the element @@ -4612,7 +4634,7 @@

HTML Attribute State and Property Mappings

implements the interface
- ? + RangeValue.Minimum
Exposed as atk_value_get_minimum_value if the element @@ -4627,7 +4649,7 @@

HTML Attribute State and Property Mappings

input
Not mapped
? - ? +
Not mapped
? ? @@ -4778,7 +4800,12 @@

HTML Attribute State and Property Mappings

IA2_STATE_INVALID_ENTRY if value doesn't meet the pattern
- ? + +
+ States: + IsDataValidForForm if value doesn't meet the pattern +
+
States: @@ -4839,7 +4866,13 @@

HTML Attribute State and Property Mappings

textarea elements
- ? + +
+ Adds Value.IsReadOnly bit to + input and + textarea elements +
+
Removes ATK_STATE_EDITABLE bit bit from @@ -4895,7 +4928,7 @@

HTML Attribute State and Property Mappings

textarea ?
Not mapped
- ? +
Not mapped
Not mapped
? @@ -4929,7 +4962,11 @@

HTML Attribute State and Property Mappings

Defines whether the element is a row or column header (refer to th element)
- ? + +
+ Defines whether the element is a row or column header (refer to th element) +
+
Defines whether the element is a row or column header (refer to th element) @@ -4967,7 +5004,11 @@

HTML Attribute State and Property Mappings

If greater than 1, then creates a listbox accessible object. Refer to select element for details.
- ? + +
+ If greater than 1, then creates a List accessible object. Refer to select element for details. +
+
If greater than 1, then creates a listbox accessible object. Refer to select element for details. @@ -4996,7 +5037,12 @@

HTML Attribute State and Property Mappings

all cells at the column
- ? + +
+ Exposed as GridItem.ColumnSpan on + all cells at the column +
+
Exposed via atk_table_get_column_extent_at @@ -5014,7 +5060,11 @@

HTML Attribute State and Property Mappings

Mapped to "invalid" text attribute on the text container
- ? + +
+ Mapped to SpellingError AnnotationTypes text attribute on the text range +
+
Mapped to "invalid" text attribute on the text container @@ -5033,7 +5083,12 @@

HTML Attribute State and Property Mappings

src on img only
- ? + +
+ Object attributes: + src on img only +
+
Object attributes: @@ -5072,7 +5127,11 @@

HTML Attribute State and Property Mappings

Changes the first number of the child list item accessible objects to match the start attribute's value.
- ? + +
+ Changes the first number of the child list item accessible objects to match the start attribute's value. +
+
Changes the first number of the child list item accessible objects to match the start attribute's value. @@ -5129,7 +5188,12 @@

HTML Attribute State and Property Mappings

STATE_SYSTEM_FOCUSABLE; also set STATE_SYSTEM_FOCUSED when the element has DOM focus
- ? + +
+ States: + IsKeyboardFocusable; also set HasKeyboardFocus when the element has DOM focus +
+
States: @@ -5179,7 +5243,12 @@

HTML Attribute State and Property Mappings

accessible description
- ? + +
+ Associates the accessible name or if it was provided otherwise then + accessible description +
+
Associates the accessible name or if it was provided otherwise then @@ -5198,7 +5267,11 @@

HTML Attribute State and Property Mappings

Associates the accessible name
- ? + +
+ Associates the accessible name +
+
Associates the accessible name @@ -5217,7 +5290,12 @@

HTML Attribute State and Property Mappings

accessible description
- ? + +
+ Associates the accessible name or if it was provided otherwise then + accessible description +
+
Associates the accessible name or if it was provided otherwise then @@ -5276,7 +5354,11 @@

HTML Attribute State and Property Mappings

submit type may be a default button in the form
- ? + +
+ submit type may be a default button in the form +
+
submit type may be a default button in the form @@ -5307,7 +5389,14 @@

HTML Attribute State and Property Mappings

type="button", etc
- ? + +
+ Defines the accessible role, states and other properties, refer to + type="text", + type="password", + type="button", etc +
+
Defines the accessible role, states and other properties, refer to @@ -5324,7 +5413,7 @@

HTML Attribute State and Property Mappings

menu ?
Not mapped
- ? +
Not mapped
Not mapped
? @@ -5339,7 +5428,12 @@

HTML Attribute State and Property Mappings

type="command"
- ? + +
+ Defines the accessible role and states, refer to + type="command" +
+
Defines the accessible role and states: @@ -5354,7 +5448,7 @@

HTML Attribute State and Property Mappings

ol ? - ? + ? @@ -5378,7 +5472,11 @@

HTML Attribute State and Property Mappings

Responsible for image map creation, refer to img element
- ? + +
+ Responsible for image map creation, refer to img element +
+
Responsible for image map creation, refer to img element @@ -5460,7 +5558,11 @@

HTML Attribute State and Property Mappings

Exposed as IAccessibleValue::currentValue
- ? + +
+ Exposed as Value.Value +
+
Exposed as atk_value_get_current_value @@ -5488,7 +5590,11 @@

HTML Attribute State and Property Mappings

Defines an accessible object's width (IAccessible::accLocation)
- ? + +
+ Defines an accessible object's width (BoundingRectangle) +
+
Defines an accessible object's width (atk_component_get_size)