Changeset 247349 in webkit
- Timestamp:
- Jul 11, 2019 6:36:50 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r247338 r247349 1 2019-07-11 Joanmarie Diggs <jdiggs@igalia.com> 2 3 AX: Implement support for ARIA roles insertion, deletion, subscript, superscript, and time 4 https://bugs.webkit.org/show_bug.cgi?id=199692 5 6 Reviewed by Chris Fleizach. 7 8 Add the new roles to the existing role-exposure tests and update expectations accordingly. 9 10 * accessibility/gtk/object-attributes-expected.txt: 11 * accessibility/gtk/object-attributes.html: 12 * accessibility/gtk/xml-roles-exposed-expected.txt: 13 * accessibility/gtk/xml-roles-exposed.html: 14 * accessibility/roles-computedRoleString.html: 15 * accessibility/roles-exposed.html: 16 * platform/gtk/accessibility/roles-computedRoleString-expected.txt: 17 * platform/gtk/accessibility/roles-exposed-expected.txt: 18 * platform/mac-wk2/accessibility/roles-exposed-expected.txt: 19 * platform/mac/accessibility/roles-computedRoleString-expected.txt: 20 * platform/mac/accessibility/roles-exposed-expected.txt: 21 * platform/wpe/accessibility/roles-computedRoleString-expected.txt: 22 * platform/wpe/accessibility/roles-exposed-expected.txt: 23 1 24 2019-07-10 Saam Barati <sbarati@apple.com> 2 25 -
trunk/LayoutTests/accessibility/gtk/object-attributes-expected.txt
r243167 r247349 22 22 4 23 23 24 foo 25 bar 26 baz 24 27 This tests the exposure of Atk object attributes. 25 28 … … 216 219 AXPlatformAttributes: computed-role:table, tag:table, toolkit:WebKitGtk 217 220 ------------ 221 AXRole: AXDeletion 222 AXParent: AXWebArea 223 AXChildren: 0 224 AXPosition: { 8.00000, 392.000 } 225 AXSize: { 784.000, 19.0000 } 226 AXTitle: 227 AXDescription: 228 AXValue: foo 229 AXFocusable: 0 230 AXFocused: 0 231 AXSelectable: 0 232 AXSelected: 0 233 AXMultiSelectable: 0 234 AXEnabled: 1 235 AXExpanded: 0 236 AXRequired: 0 237 AXChecked: 0 238 AXPlatformAttributes: xml-roles:deletion, computed-role:deletion, tag:del, toolkit:WebKitGtk 239 ------------ 240 AXRole: AXInsertion 241 AXParent: AXWebArea 242 AXChildren: 0 243 AXPosition: { 8.00000, 410.000 } 244 AXSize: { 784.000, 19.0000 } 245 AXTitle: 246 AXDescription: 247 AXValue: bar 248 AXFocusable: 0 249 AXFocused: 0 250 AXSelectable: 0 251 AXSelected: 0 252 AXMultiSelectable: 0 253 AXEnabled: 1 254 AXExpanded: 0 255 AXRequired: 0 256 AXChecked: 0 257 AXPlatformAttributes: xml-roles:insertion, computed-role:insertion, tag:ins, toolkit:WebKitGtk 258 ------------ 259 AXRole: AXStatic 260 AXParent: AXWebArea 261 AXChildren: 0 262 AXPosition: { 8.00000, 428.000 } 263 AXSize: { 784.000, 19.0000 } 264 AXTitle: 265 AXDescription: 266 AXValue: baz 267 AXFocusable: 0 268 AXFocused: 0 269 AXSelectable: 0 270 AXSelected: 0 271 AXMultiSelectable: 0 272 AXEnabled: 1 273 AXExpanded: 0 274 AXRequired: 0 275 AXChecked: 0 276 AXPlatformAttributes: computed-role:time, tag:time, toolkit:WebKitGtk 277 ------------ 218 278 AXRole: AXParagraph 219 279 AXParent: AXWebArea 220 280 AXChildren: 2 221 AXPosition: { 8.00000, 4 08.000 }281 AXPosition: { 8.00000, 462.000 } 222 282 AXSize: { 784.000, 53.0000 } 223 283 AXTitle: -
trunk/LayoutTests/accessibility/gtk/object-attributes.html
r200260 r247349 21 21 <tr><td><p>3</p></td><td><p>4</p></td></tr> 22 22 </table> 23 <del style="display:block;">foo</del> 24 <ins style="display:block;">bar</ins> 25 <time style="display:block;">baz</time> 23 26 <p id="description"></p> 24 27 <div id="console"></div> -
trunk/LayoutTests/accessibility/gtk/xml-roles-exposed-expected.txt
r243198 r247349 251 251 AXPlatformAttributes: computed-role:definition, xml-roles:definition, tag:div, toolkit:WebKitGtk 252 252 ------------ 253 AXRole: AXDeletion 254 AXParent: AXWebArea 255 AXChildren: 0 256 AXPosition: { 0.00000, 0.00000 } 257 AXSize: { 0.00000, 0.00000 } 258 AXTitle: 259 AXDescription: 260 AXValue: 261 AXFocusable: 0 262 AXFocused: 0 263 AXSelectable: 0 264 AXSelected: 0 265 AXMultiSelectable: 0 266 AXEnabled: 1 267 AXExpanded: 0 268 AXRequired: 0 269 AXChecked: 0 270 AXPlatformAttributes: computed-role:deletion, xml-roles:deletion, tag:div, toolkit:WebKitGtk 271 ------------ 253 272 AXRole: AXDialog 254 273 AXParent: AXWebArea … … 421 440 AXChecked: 0 422 441 AXPlatformAttributes: computed-role:img, xml-roles:img, tag:div, toolkit:WebKitGtk 442 ------------ 443 AXRole: AXInsertion 444 AXParent: AXWebArea 445 AXChildren: 0 446 AXPosition: { 0.00000, 0.00000 } 447 AXSize: { 0.00000, 0.00000 } 448 AXTitle: 449 AXDescription: 450 AXValue: 451 AXFocusable: 0 452 AXFocused: 0 453 AXSelectable: 0 454 AXSelected: 0 455 AXMultiSelectable: 0 456 AXEnabled: 1 457 AXExpanded: 0 458 AXRequired: 0 459 AXChecked: 0 460 AXPlatformAttributes: computed-role:insertion, xml-roles:insertion, tag:div, toolkit:WebKitGtk 423 461 ------------ 424 462 AXRole: AXLink … … 803 841 AXPlatformAttributes: atomic:true, relevant:additions text, live:polite, container-live-role:status, container-atomic:true, container-relevant:additions text, container-live:polite, computed-role:status, xml-roles:status, tag:div, toolkit:WebKitGtk 804 842 ------------ 843 AXRole: AXSubscript 844 AXParent: AXWebArea 845 AXChildren: 0 846 AXPosition: { 0.00000, 0.00000 } 847 AXSize: { 0.00000, 0.00000 } 848 AXTitle: 849 AXDescription: 850 AXValue: 851 AXFocusable: 0 852 AXFocused: 0 853 AXSelectable: 0 854 AXSelected: 0 855 AXMultiSelectable: 0 856 AXEnabled: 1 857 AXExpanded: 0 858 AXRequired: 0 859 AXChecked: 0 860 AXPlatformAttributes: computed-role:subscript, xml-roles:subscript, tag:div, toolkit:WebKitGtk 861 ------------ 862 AXRole: AXSuperscript 863 AXParent: AXWebArea 864 AXChildren: 0 865 AXPosition: { 0.00000, 0.00000 } 866 AXSize: { 0.00000, 0.00000 } 867 AXTitle: 868 AXDescription: 869 AXValue: 870 AXFocusable: 0 871 AXFocused: 0 872 AXSelectable: 0 873 AXSelected: 0 874 AXMultiSelectable: 0 875 AXEnabled: 1 876 AXExpanded: 0 877 AXRequired: 0 878 AXChecked: 0 879 AXPlatformAttributes: computed-role:superscript, xml-roles:superscript, tag:div, toolkit:WebKitGtk 880 ------------ 805 881 AXRole: AXToggleButton 806 882 AXParent: AXWebArea … … 859 935 AXChecked: 0 860 936 AXPlatformAttributes: xml-roles:textbox, readonly:false, tag:div, toolkit:WebKitGtk 937 ------------ 938 AXRole: AXStatic 939 AXParent: AXWebArea 940 AXChildren: 0 941 AXPosition: { 0.00000, 0.00000 } 942 AXSize: { 0.00000, 0.00000 } 943 AXTitle: 944 AXDescription: 945 AXValue: 946 AXFocusable: 0 947 AXFocused: 0 948 AXSelectable: 0 949 AXSelected: 0 950 AXMultiSelectable: 0 951 AXEnabled: 1 952 AXExpanded: 0 953 AXRequired: 0 954 AXChecked: 0 955 AXPlatformAttributes: computed-role:time, xml-roles:time, tag:div, toolkit:WebKitGtk 861 956 ------------ 862 957 AXRole: AXTimer -
trunk/LayoutTests/accessibility/gtk/xml-roles-exposed.html
r243198 r247349 19 19 <div role="contentinfo"></div> 20 20 <div role="definition"></div> 21 <div role="deletion"></div> 21 22 <div role="dialog"></div> 22 23 <div role="directory"></div> … … 28 29 <div role="heading"></div> 29 30 <div role="img"></div> 31 <div role="insertion"></div> 30 32 <div role="link"></div> 31 33 <div role="log"></div> … … 49 51 <div role="spinbutton"></div> 50 52 <div role="status"></div> 53 <div role="subscript"></div> 54 <div role="superscript"></div> 51 55 <div role="switch"></div> 52 56 <div role="term"></div> 53 57 <div role="textbox"></div> 58 <div role="time"></div> 54 59 <div role="timer"></div> 55 60 <div role="toolbar"></div> -
trunk/LayoutTests/accessibility/roles-computedRoleString.html
r243198 r247349 13 13 <aside data-role="complementary" data-platform="atk,mac" class="ex">X</aside> 14 14 <button data-role="button" data-platform="atk,mac" class="ex">X</button> 15 <del data-role="deletion" data-platform="atk,mac" class="ex">X</ins> 15 16 <dfn data-role="definition" data-platform="atk,mac" class="ex">X</dfn> 16 17 <dl data-role="" data-platform="atk,mac" class="ex"> … … 54 55 <input type="url" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='url']"> 55 56 <input type="week" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='week']"> 56 <ins data-role=" " data-platform="atk,mac" class="ex">X</ins>57 <ins data-role="insertion" data-platform="atk,mac" class="ex">X</ins> 57 58 <mark data-role="" data-platform="atk,mac" class="ex">X</mark> 58 59 <math data-role="math" data-platform="atk,mac" class="ex">X</math> … … 99 100 <span data-role="" data-platform="atk,mac" class="ex">X</span> 100 101 <strong data-role="" data-platform="atk,mac" class="ex">X</strong> 101 <sub data-role=" " data-platform="atk,mac" class="ex">X</sub>102 <sup data-role=" " data-platform="atk,mac" class="ex">X</sup>102 <sub data-role="subscript" data-platform="atk,mac" class="ex">X</sub> 103 <sup data-role="superscript" data-platform="atk,mac" class="ex">X</sup> 103 104 <svg data-role="" data-platform="atk,mac" class="ex">X</svg> 104 105 … … 142 143 143 144 <textarea data-role="textbox" data-platform="atk,mac" class="ex">X</textarea> 144 <time data-role=" " data-platform="atk,mac" class="ex">X</time>145 <time data-role="time" data-platform="atk,mac" class="ex">X</time> 145 146 <ul data-role="list" data-platform="atk,mac" class="ex"> 146 147 <li data-role="listitem" data-platform="atk,mac" class="ex">X</li> … … 182 183 <div role="contentinfo" data-role="contentinfo" data-platform="atk,mac" class="ex">X</div> 183 184 <div role="definition" data-role="definition" data-platform="atk,mac" class="ex">X</div> 185 <div role="deletion" data-role="deletion" data-platform="atk,mac" class="ex">X</div> 184 186 <div role="dialog" data-role="dialog" data-platform="atk,mac" class="ex">X</div> 185 187 <div role="directory" data-role="list" data-platform="atk,mac" class="ex">X</div><!-- FIXME: should be directory --> … … 203 205 <div role="heading" data-role="heading" data-platform="atk,mac" class="ex">X</div> 204 206 <div role="img" data-role="img" data-platform="atk,mac" class="ex">X</div> 207 <div role="insertion" data-role="insertion" data-platform="atk,mac" class="ex">X</div> 205 208 <div role="link" data-role="link" data-platform="atk,mac" class="ex">X</div> 206 209 <div role="list" data-role="list" data-platform="atk,mac" class="ex"> … … 245 248 <div role="spinbutton" data-role="spinbutton" data-platform="atk,mac" class="ex">X</div> 246 249 <div role="status" data-role="status" data-platform="atk,mac" class="ex">X</div> 250 <div role="subscript" data-role="subscript" data-platform="atk,mac" class="ex">X</div> 251 <div role="superscript" data-role="superscript" data-platform="atk,mac" class="ex">X</div> 247 252 <div role="tablist" data-role="tablist" data-platform="atk,mac" class="ex"> 248 253 <div role="tab" data-role="tab" data-platform="atk,mac" class="ex">X</div> … … 251 256 <div role="textbox" data-role="" data-platform="atk,mac" class="ex">X</div><!-- FIXME: should be textbox --> 252 257 <div role="term" data-role="term" data-platform="atk,mac" class="ex">X</div> 258 <div role="time" data-role="time" data-platform="atk,mac" class="ex">X</div> 253 259 <div role="timer" data-role="timer" data-platform="atk,mac" class="ex">X</div> 254 260 <div role="toolbar" data-role="toolbar" data-platform="atk,mac" class="ex">X</div> -
trunk/LayoutTests/accessibility/roles-exposed.html
r243198 r247349 257 257 <div role="contentinfo" data-platform="atk,mac" class="ex">X</div> 258 258 <div role="definition" data-platform="atk,mac" class="ex">X</div> 259 <div role="deletion" data-platform="atk,mac" class="ex">X</div> 259 260 <div role="dialog" data-platform="atk,mac" class="ex">X</div> 260 261 <div role="directory" data-platform="atk,mac" class="ex">X</div> … … 320 321 <div role="heading" data-platform="atk,mac" class="ex">X</div> 321 322 <div role="img" data-platform="atk,mac" class="ex">X</div> 323 <div role="insertion" data-platform="atk,mac" class="ex">X</div> 322 324 <div role="link" data-platform="atk,mac" class="ex">X</div> 323 325 <div role="list" data-platform="atk,mac" class="ex"> … … 364 366 <div role="spinbutton" data-platform="atk,mac" class="ex">X</div> 365 367 <div role="status" data-platform="atk,mac" class="ex">X</div> 368 <div role="subscript" data-platform="atk,mac" class="ex">X</div> 369 <div role="superscript" data-platform="atk,mac" class="ex">X</div> 366 370 <div role="switch" data-platform="atk,mac" class="ex">X</div> 367 371 <div role="tablist" data-platform="atk,mac" class="ex"> … … 371 375 <div role="term" data-platform="atk,mac" class="ex">X</div> 372 376 <div role="textbox" data-platform="atk,mac" class="ex">X</div> 377 <div role="time" data-platform="atk,mac" class="ex">X</div> 373 378 <div role="timer" data-platform="atk,mac" class="ex">X</div> 374 379 <div role="toolbar" data-platform="atk,mac" class="ex">X</div> -
trunk/LayoutTests/platform/gtk/accessibility/roles-computedRoleString-expected.txt
r243198 r247349 8 8 PASS: aside -> complementary. 9 9 PASS: button -> button. 10 PASS: del -> deletion. 10 11 PASS: dfn -> definition. 11 12 PASS: dl -> . … … 42 43 PASS: input[type='url'] -> . 43 44 PASS: input[type='week'] -> . 44 PASS: ins -> .45 PASS: ins -> insertion. 45 46 PASS: math -> math. 46 47 PASS: nav -> navigation. … … 62 63 PASS: option -> option. 63 64 PASS: option -> option. 64 PASS: sub -> .65 PASS: sup -> .65 PASS: sub -> subscript. 66 PASS: sup -> superscript. 66 67 PASS: table -> table. 67 68 PASS: caption -> caption. … … 80 81 PASS: td[role="gridcell"] -> gridcell. 81 82 PASS: textarea -> textbox. 82 PASS: time -> .83 PASS: time -> time. 83 84 PASS: ul -> list. 84 85 PASS: li -> listitem. … … 109 110 PASS: div[role="contentinfo"] -> contentinfo. 110 111 PASS: div[role="definition"] -> definition. 112 PASS: div[role="deletion"] -> deletion. 111 113 PASS: div[role="dialog"] -> dialog. 112 114 PASS: div[role="directory"] -> list. … … 126 128 PASS: div[role="heading"] -> heading. 127 129 PASS: div[role="img"] -> img. 130 PASS: div[role="insertion"] -> insertion. 128 131 PASS: div[role="link"] -> link. 129 132 PASS: div[role="list"] -> list. … … 159 162 PASS: div[role="spinbutton"] -> spinbutton. 160 163 PASS: div[role="status"] -> status. 164 PASS: div[role="subscript"] -> subscript. 165 PASS: div[role="superscript"] -> superscript. 161 166 PASS: div[role="tablist"] -> tablist. 162 167 PASS: div[role="tab"] -> tab. … … 164 169 PASS: div[role="textbox"] -> . 165 170 PASS: div[role="term"] -> term. 171 PASS: div[role="time"] -> time. 166 172 PASS: div[role="timer"] -> timer. 167 173 PASS: div[role="toolbar"] -> toolbar. -
trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt
r243198 r247349 51 51 52 52 del:not([datetime]) 53 AXRole: AX Static53 AXRole: AXDeletion 54 54 55 55 del[datetime] 56 AXRole: AX Static56 AXRole: AXDeletion 57 57 58 58 dfn … … 204 204 205 205 ins:not([datetime]) 206 AXRole: AX Static206 AXRole: AXInsertion 207 207 208 208 ins[datetime] 209 AXRole: AX Static209 AXRole: AXInsertion 210 210 211 211 map … … 524 524 AXRole: AXDefinition 525 525 526 div[role=deletion] 527 AXRole: AXDeletion 528 526 529 div[role=dialog] 527 530 AXRole: AXDialog … … 695 698 AXRole: AXImage 696 699 700 div[role=insertion] 701 AXRole: AXInsertion 702 697 703 div[role=link] 698 704 AXRole: AXLink … … 800 806 AXRole: AXStatusBar 801 807 808 div[role=subscript] 809 AXRole: AXSubscript 810 811 div[role=superscript] 812 AXRole: AXSuperscript 813 802 814 div[role=switch] 803 815 AXRole: AXToggleButton … … 817 829 div[role=textbox] 818 830 AXRole: AXTextField 831 832 div[role=time] 833 AXRole: AXStatic 819 834 820 835 div[role=timer] -
trunk/LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt
r243198 r247349 875 875 AXRoleDescription: definition 876 876 877 div[role=deletion] 878 AXRole: AXGroup 879 AXSubrole: AXDeleteStyleGroup 880 AXRoleDescription: group 881 877 882 div[role=dialog] 878 883 AXRole: AXGroup … … 1160 1165 AXRoleDescription: image 1161 1166 1167 div[role=insertion] 1168 AXRole: AXGroup 1169 AXSubrole: AXInsertStyleGroup 1170 AXRoleDescription: group 1171 1162 1172 div[role=link] 1163 1173 AXRole: AXLink … … 1335 1345 AXRoleDescription: application status 1336 1346 1347 div[role=subscript] 1348 AXRole: AXGroup 1349 AXSubrole: AXSubscriptStyleGroup 1350 AXRoleDescription: group 1351 1352 div[role=superscript] 1353 AXRole: AXGroup 1354 AXSubrole: AXSuperscriptStyleGroup 1355 AXRoleDescription: group 1356 1337 1357 div[role=switch] 1338 1358 AXRole: AXCheckBox … … 1365 1385 AXRoleDescription: text field 1366 1386 1387 div[role=time] 1388 AXRole: AXGroup 1389 AXSubrole: AXTimeGroup 1390 AXRoleDescription: group 1391 1367 1392 div[role=timer] 1368 1393 AXRole: AXGroup -
trunk/LayoutTests/platform/mac/accessibility/roles-computedRoleString-expected.txt
r243198 r247349 8 8 PASS: aside -> complementary. 9 9 PASS: button -> button. 10 PASS: del -> deletion. 10 11 PASS: dfn -> definition. 11 12 PASS: dl -> . … … 42 43 PASS: input[type='url'] -> . 43 44 PASS: input[type='week'] -> . 44 PASS: ins -> .45 PASS: ins -> insertion. 45 46 PASS: mark -> . 46 47 PASS: math -> math. … … 62 63 PASS: option -> option. 63 64 PASS: option -> option. 64 PASS: sub -> .65 PASS: sup -> .65 PASS: sub -> subscript. 66 PASS: sup -> superscript. 66 67 PASS: table -> table. 67 68 PASS: tr -> row. … … 79 80 PASS: td[role="gridcell"] -> gridcell. 80 81 PASS: textarea -> textbox. 81 PASS: time -> .82 PASS: time -> time. 82 83 PASS: ul -> list. 83 84 PASS: li -> listitem. … … 108 109 PASS: div[role="contentinfo"] -> contentinfo. 109 110 PASS: div[role="definition"] -> definition. 111 PASS: div[role="deletion"] -> deletion. 110 112 PASS: div[role="dialog"] -> dialog. 111 113 PASS: div[role="directory"] -> list. … … 125 127 PASS: div[role="heading"] -> heading. 126 128 PASS: div[role="img"] -> img. 129 PASS: div[role="insertion"] -> insertion. 127 130 PASS: div[role="link"] -> link. 128 131 PASS: div[role="list"] -> list. … … 158 161 PASS: div[role="spinbutton"] -> spinbutton. 159 162 PASS: div[role="status"] -> status. 163 PASS: div[role="subscript"] -> subscript. 164 PASS: div[role="superscript"] -> superscript. 160 165 PASS: div[role="tablist"] -> tablist. 161 166 PASS: div[role="tab"] -> tab. … … 163 168 PASS: div[role="textbox"] -> . 164 169 PASS: div[role="term"] -> term. 170 PASS: div[role="time"] -> time. 165 171 PASS: div[role="timer"] -> timer. 166 172 PASS: div[role="toolbar"] -> toolbar. -
trunk/LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt
r243198 r247349 875 875 AXRoleDescription: definition 876 876 877 div[role=deletion] 878 AXRole: AXGroup 879 AXSubrole: AXDeleteStyleGroup 880 AXRoleDescription: group 881 877 882 div[role=dialog] 878 883 AXRole: AXGroup … … 1160 1165 AXRoleDescription: image 1161 1166 1167 div[role=insertion] 1168 AXRole: AXGroup 1169 AXSubrole: AXInsertStyleGroup 1170 AXRoleDescription: group 1171 1162 1172 div[role=link] 1163 1173 AXRole: AXLink … … 1335 1345 AXRoleDescription: application status 1336 1346 1347 div[role=subscript] 1348 AXRole: AXGroup 1349 AXSubrole: AXSubscriptStyleGroup 1350 AXRoleDescription: group 1351 1352 div[role=superscript] 1353 AXRole: AXGroup 1354 AXSubrole: AXSuperscriptStyleGroup 1355 AXRoleDescription: group 1356 1337 1357 div[role=switch] 1338 1358 AXRole: AXCheckBox … … 1365 1385 AXRoleDescription: text field 1366 1386 1387 div[role=time] 1388 AXRole: AXGroup 1389 AXSubrole: AXTimeGroup 1390 AXRoleDescription: group 1391 1367 1392 div[role=timer] 1368 1393 AXRole: AXGroup -
trunk/LayoutTests/platform/wpe/accessibility/roles-computedRoleString-expected.txt
r245565 r247349 8 8 PASS: aside -> complementary. 9 9 PASS: button -> button. 10 PASS: del -> deletion. 10 11 PASS: dfn -> definition. 11 12 PASS: dl -> . … … 42 43 PASS: input[type='url'] -> . 43 44 PASS: input[type='week'] -> . 44 PASS: ins -> .45 PASS: ins -> insertion. 45 46 PASS: math -> math. 46 47 PASS: nav -> navigation. … … 62 63 PASS: option -> option. 63 64 PASS: option -> option. 64 PASS: sub -> .65 PASS: sup -> .65 PASS: sub -> subscript. 66 PASS: sup -> superscript. 66 67 PASS: table -> table. 67 68 PASS: caption -> caption. … … 80 81 PASS: td[role="gridcell"] -> gridcell. 81 82 PASS: textarea -> textbox. 82 PASS: time -> .83 PASS: time -> time. 83 84 PASS: ul -> list. 84 85 PASS: li -> listitem. … … 109 110 PASS: div[role="contentinfo"] -> contentinfo. 110 111 PASS: div[role="definition"] -> definition. 112 PASS: div[role="deletion"] -> deletion. 111 113 PASS: div[role="dialog"] -> dialog. 112 114 PASS: div[role="directory"] -> list. … … 126 128 PASS: div[role="heading"] -> heading. 127 129 PASS: div[role="img"] -> img. 130 PASS: div[role="insertion"] -> insertion. 128 131 PASS: div[role="link"] -> link. 129 132 PASS: div[role="list"] -> list. … … 159 162 PASS: div[role="spinbutton"] -> spinbutton. 160 163 PASS: div[role="status"] -> status. 164 PASS: div[role="subscript"] -> subscript. 165 PASS: div[role="superscript"] -> superscript. 161 166 PASS: div[role="tablist"] -> tablist. 162 167 PASS: div[role="tab"] -> tab. … … 164 169 PASS: div[role="textbox"] -> . 165 170 PASS: div[role="term"] -> term. 171 PASS: div[role="time"] -> time. 166 172 PASS: div[role="timer"] -> timer. 167 173 PASS: div[role="toolbar"] -> toolbar. -
trunk/LayoutTests/platform/wpe/accessibility/roles-exposed-expected.txt
r245565 r247349 51 51 52 52 del:not([datetime]) 53 AXRole: AX Static53 AXRole: AXDeletion 54 54 55 55 del[datetime] 56 AXRole: AX Static56 AXRole: AXDeletion 57 57 58 58 dfn … … 204 204 205 205 ins:not([datetime]) 206 AXRole: AX Static206 AXRole: AXInsertion 207 207 208 208 ins[datetime] 209 AXRole: AX Static209 AXRole: AXInsertion 210 210 211 211 map … … 524 524 AXRole: AXDefinition 525 525 526 div[role=deletion] 527 AXRole: AXDeletion 528 526 529 div[role=dialog] 527 530 AXRole: AXDialog … … 695 698 AXRole: AXImage 696 699 700 div[role=insertion] 701 AXRole: AXInsertion 702 697 703 div[role=link] 698 704 AXRole: AXLink … … 800 806 AXRole: AXStatusBar 801 807 808 div[role=subscript] 809 AXRole: AXSubscript 810 811 div[role=superscript] 812 AXRole: AXSuperscript 813 802 814 div[role=switch] 803 815 AXRole: AXToggleButton … … 817 829 div[role=textbox] 818 830 AXRole: AXTextField 831 832 div[role=time] 833 AXRole: AXStatic 819 834 820 835 div[role=timer] -
trunk/Source/WebCore/ChangeLog
r247347 r247349 1 2019-07-11 Joanmarie Diggs <jdiggs@igalia.com> 2 3 AX: Implement support for ARIA roles insertion, deletion, subscript, superscript, and time 4 https://bugs.webkit.org/show_bug.cgi?id=199692 5 6 Reviewed by Chris Fleizach. 7 8 Create new AccessibilityRole types which correspond to the new ARIA roles and 9 update AccessibilityRenderObject::determineAccessibilityRole() to assign these 10 internal roles to the related HTML elements. 11 12 Update both ATK and Mac to recognize these new internal roles. In addition, update 13 the ATK mappings for the ins and del elements to ATK_ROLE_CONTENT_INSERTION and 14 ATK_ROLE_CONTENT_DELETION respectively. Also expose "insertion" and "deletion" via 15 the AtkObject xml-roles attribute so that this information is not completely absent 16 for GTK or WPE built against earlier versions of ATK. 17 18 Remove AccessibilityObject's isSubscriptStyleGroup() and isSuperscriptStyleGroup(). 19 These two methods were only being used by ATK and are no longer needed for platform 20 role mapping. 21 22 No new tests. Instead add the roles to the existing role-exposure tests. 23 24 * accessibility/AccessibilityObject.cpp: 25 (WebCore::initializeRoleMap): 26 (WebCore::AccessibilityObject::isSubscriptStyleGroup const): Deleted. 27 (WebCore::AccessibilityObject::isSuperscriptStyleGroup const): Deleted. 28 * accessibility/AccessibilityObject.h: 29 * accessibility/AccessibilityObjectInterface.h: 30 * accessibility/AccessibilityRenderObject.cpp: 31 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 32 * accessibility/atk/WebKitAccessible.cpp: 33 (webkitAccessibleGetAttributes): 34 (atkRole): 35 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: 36 (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): 37 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 38 (createAccessibilityRoleMap): 39 (-[WebAccessibilityObjectWrapper subrole]): 40 1 41 2019-07-11 Thibault Saunier <tsaunier@igalia.com> 2 42 -
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
r247295 r247349 2346 2346 { "complementary", AccessibilityRole::LandmarkComplementary }, 2347 2347 { "contentinfo", AccessibilityRole::LandmarkContentInfo }, 2348 { "deletion", AccessibilityRole::Deletion }, 2348 2349 { "dialog", AccessibilityRole::ApplicationDialog }, 2349 2350 { "directory", AccessibilityRole::Directory }, … … 2408 2409 { "heading", AccessibilityRole::Heading }, 2409 2410 { "img", AccessibilityRole::Image }, 2411 { "insertion", AccessibilityRole::Insertion }, 2410 2412 { "link", AccessibilityRole::WebCoreLink }, 2411 2413 { "list", AccessibilityRole::List }, … … 2441 2443 { "spinbutton", AccessibilityRole::SpinButton }, 2442 2444 { "status", AccessibilityRole::ApplicationStatus }, 2445 { "subscript", AccessibilityRole::Subscript }, 2446 { "superscript", AccessibilityRole::Superscript }, 2443 2447 { "switch", AccessibilityRole::Switch }, 2444 2448 { "tab", AccessibilityRole::Tab }, … … 2448 2452 { "textbox", AccessibilityRole::TextArea }, 2449 2453 { "term", AccessibilityRole::Term }, 2454 { "time", AccessibilityRole::Time }, 2450 2455 { "timer", AccessibilityRole::ApplicationTimer }, 2451 2456 { "toolbar", AccessibilityRole::Toolbar }, … … 3505 3510 } 3506 3511 3507 bool AccessibilityObject::isSubscriptStyleGroup() const3508 {3509 Node* node = this->node();3510 return node && node->hasTagName(subTag);3511 }3512 3513 bool AccessibilityObject::isSuperscriptStyleGroup() const3514 {3515 Node* node = this->node();3516 return node && node->hasTagName(supTag);3517 }3518 3519 3512 bool AccessibilityObject::isFigureElement() const 3520 3513 { -
trunk/Source/WebCore/accessibility/AccessibilityObject.h
r247295 r247349 453 453 bool isToolbar() const { return roleValue() == AccessibilityRole::Toolbar; } 454 454 bool isStyleFormatGroup() const; 455 bool isSubscriptStyleGroup() const;456 bool isSuperscriptStyleGroup() const;457 455 bool isFigureElement() const; 458 456 bool isKeyboardFocusable() const; -
trunk/Source/WebCore/accessibility/AccessibilityObjectInterface.h
r245565 r247349 76 76 ComboBox, 77 77 Definition, 78 Deletion, 78 79 DescriptionList, 79 80 DescriptionListTerm, … … 110 111 ImageMapLink, 111 112 Incrementor, 113 Insertion, 112 114 Label, 113 115 LandmarkBanner, … … 167 169 Splitter, 168 170 StaticText, 171 Subscript, 169 172 Summary, 173 Superscript, 170 174 Switch, 171 175 SystemWide, -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
r247071 r247349 2814 2814 return AccessibilityRole::SVGRoot; 2815 2815 2816 if (isStyleFormatGroup()) 2816 if (isStyleFormatGroup()) { 2817 if (node->hasTagName(delTag)) 2818 return AccessibilityRole::Deletion; 2819 if (node->hasTagName(insTag)) 2820 return AccessibilityRole::Insertion; 2821 if (node->hasTagName(subTag)) 2822 return AccessibilityRole::Subscript; 2823 if (node->hasTagName(supTag)) 2824 return AccessibilityRole::Superscript; 2817 2825 return is<RenderInline>(*m_renderer) ? AccessibilityRole::Inline : AccessibilityRole::TextGroup; 2826 } 2818 2827 2819 2828 if (node && node->hasTagName(ddTag)) -
trunk/Source/WebCore/accessibility/atk/WebKitAccessible.cpp
r247071 r247349 521 521 // The HTML AAM maps several elements to ARIA landmark roles. In order for the type of landmark 522 522 // to be obtainable in the same fashion as an ARIA landmark, fall back on the computedRoleString. 523 if (coreObject->ariaRoleAttribute() == AccessibilityRole::Unknown && coreObject->isLandmark()) 523 // We also want to do this for the style-format-group element types so that the type of format 524 // group it is doesn't get lost to a generic platform role. 525 if (coreObject->ariaRoleAttribute() == AccessibilityRole::Unknown 526 && (coreObject->isLandmark() || coreObject->isStyleFormatGroup())) 524 527 attributeSet = addToAtkAttributeSet(attributeSet, "xml-roles", computedRoleString.utf8().data()); 525 528 } … … 800 803 case AccessibilityRole::DescriptionListDetail: 801 804 return ATK_ROLE_DESCRIPTION_VALUE; 805 case AccessibilityRole::Deletion: 806 #if ATK_CHECK_VERSION(2, 33, 3) 807 return ATK_ROLE_CONTENT_DELETION; 808 #else 809 return ATK_ROLE_STATIC; 810 #endif 811 case AccessibilityRole::Insertion: 812 #if ATK_CHECK_VERSION(2, 33, 3) 813 return ATK_ROLE_CONTENT_INSERTION; 814 #else 815 return ATK_ROLE_STATIC; 816 #endif 817 case AccessibilityRole::Subscript: 818 return ATK_ROLE_SUBSCRIPT; 819 case AccessibilityRole::Superscript: 820 return ATK_ROLE_SUPERSCRIPT; 802 821 case AccessibilityRole::Inline: 803 if (coreObject->isSubscriptStyleGroup())804 return ATK_ROLE_SUBSCRIPT;805 if (coreObject->isSuperscriptStyleGroup())806 return ATK_ROLE_SUPERSCRIPT;807 return ATK_ROLE_STATIC;808 822 case AccessibilityRole::SVGTextPath: 809 823 case AccessibilityRole::SVGTSpan: -
trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
r247330 r247349 943 943 case AccessibilityRole::ColumnHeader: 944 944 case AccessibilityRole::Definition: 945 case AccessibilityRole::Deletion: 945 946 case AccessibilityRole::DescriptionList: 946 947 case AccessibilityRole::DescriptionListTerm: … … 968 969 case AccessibilityRole::Ignored: 969 970 case AccessibilityRole::Inline: 971 case AccessibilityRole::Insertion: 970 972 case AccessibilityRole::Label: 971 973 case AccessibilityRole::LandmarkBanner: … … 1008 1010 case AccessibilityRole::SplitGroup: 1009 1011 case AccessibilityRole::Splitter: 1012 case AccessibilityRole::Subscript: 1013 case AccessibilityRole::Superscript: 1010 1014 case AccessibilityRole::Summary: 1011 1015 case AccessibilityRole::SystemWide: -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r247071 r247349 2177 2177 { AccessibilityRole::GraphicsSymbol, NSAccessibilityImageRole }, 2178 2178 { AccessibilityRole::Caption, NSAccessibilityGroupRole }, 2179 { AccessibilityRole::Deletion, NSAccessibilityGroupRole }, 2180 { AccessibilityRole::Insertion, NSAccessibilityGroupRole }, 2181 { AccessibilityRole::Subscript, NSAccessibilityGroupRole }, 2182 { AccessibilityRole::Superscript, NSAccessibilityGroupRole }, 2179 2183 }; 2180 2184 AccessibilityRoleMap roleMap; … … 2382 2386 return NSAccessibilitySwitchSubrole; 2383 2387 2388 if (role == AccessibilityRole::Insertion) 2389 return @"AXInsertStyleGroup"; 2390 if (role == AccessibilityRole::Deletion) 2391 return @"AXDeleteStyleGroup"; 2392 if (role == AccessibilityRole::Superscript) 2393 return @"AXSuperscriptStyleGroup"; 2394 if (role == AccessibilityRole::Subscript) 2395 return @"AXSubscriptStyleGroup"; 2396 2384 2397 if (m_object->isStyleFormatGroup()) { 2385 2398 if (Node* node = m_object->node()) { … … 2396 2409 if (node->hasTagName(citeTag)) 2397 2410 return @"AXCiteStyleGroup"; 2398 if (node->hasTagName(insTag))2399 return @"AXInsertStyleGroup";2400 if (node->hasTagName(delTag))2401 return @"AXDeleteStyleGroup";2402 if (node->hasTagName(supTag))2403 return @"AXSuperscriptStyleGroup";2404 if (node->hasTagName(subTag))2405 return @"AXSubscriptStyleGroup";2406 2411 } 2407 2412 } -
trunk/Tools/ChangeLog
r247348 r247349 1 2019-07-11 Joanmarie Diggs <jdiggs@igalia.com> 2 3 AX: Implement support for ARIA roles insertion, deletion, subscript, superscript, and time 4 https://bugs.webkit.org/show_bug.cgi?id=199692 5 6 Reviewed by Chris Fleizach. 7 8 Add support for output of AXDeletion and AXInsertion roles for tests. 9 Update GTK and WPE jhbuild modules to use version of ATK and AT-SPI2 10 which include ROLE_CONTENT_DELETION and ROLE_CONTENT_INSERTION. 11 12 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 13 * gtk/jhbuild.modules: 14 * wpe/jhbuild.modules: 15 1 16 2019-07-11 Adrian Perez de Castro <aperez@igalia.com> 2 17 -
trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp
r247135 r247349 530 530 return "AXFootnote"; 531 531 #endif 532 #if ATK_CHECK_VERSION(2, 33, 3) 533 case ATK_ROLE_CONTENT_DELETION: 534 return "AXDeletion"; 535 case ATK_ROLE_CONTENT_INSERTION: 536 return "AXInsertion"; 537 #endif 532 538 default: 533 539 // We want to distinguish ATK_ROLE_UNKNOWN from a known AtkRole which -
trunk/Tools/gtk/jhbuild.modules
r247138 r247349 273 273 274 274 <meson id="atk" mesonargs="-Dintrospection=false"> 275 <branch module="pub/GNOME/sources/atk/2.3 2/atk-2.32.0.tar.xz" version="2.32.0"276 repo="ftp.gnome.org" 277 hash="sha256: cb41feda7fe4ef0daa024471438ea0219592baf7c291347e5a858bb64e4091cc"/>275 <branch module="pub/GNOME/sources/atk/2.33/atk-2.33.3.tar.xz" version="2.33.3" 276 repo="ftp.gnome.org" 277 hash="sha256:532d1081e87b9f0a8d71733101e791818442fa1896531621d1aecc189e1a4ffe"/> 278 278 </meson> 279 279 280 280 <meson id="at-spi2-core" mesonargs="-Dintrospection=no"> 281 <branch module="pub/GNOME/sources/at-spi2-core/2.3 2/at-spi2-core-2.32.1.tar.xz" version="2.32.1"282 repo="ftp.gnome.org" 283 hash="sha256: 3c2aa937ebfaca2c86569bce9b16a34fbe20d69ef0c58846313b1c42f53b0d53">281 <branch module="pub/GNOME/sources/at-spi2-core/2.33/at-spi2-core-2.33.2.tar.xz" version="2.33.2" 282 repo="ftp.gnome.org" 283 hash="sha256:0e3f44707cccf9ec9098f84abdf91ea654c919eac3c688400f8d261383cc2abe"> 284 284 </branch> 285 285 <dependencies> … … 289 289 290 290 <meson id="at-spi2-atk"> 291 <branch module="pub/GNOME/sources/at-spi2-atk/2.3 2/at-spi2-atk-2.32.0.tar.xz" version="2.32.0"292 repo="ftp.gnome.org" 293 hash="sha256: 0b51e6d339fa2bcca3a3e3159ccea574c67b107f1ac8b00047fa60e34ce7a45c">291 <branch module="pub/GNOME/sources/at-spi2-atk/2.33/at-spi2-atk-2.33.2.tar.xz" version="2.33.2" 292 repo="ftp.gnome.org" 293 hash="sha256:64d4351b245d717ec6f4f81fd40fe67481ff8e62d3893d465f01e71d9a3db3d3"> 294 294 </branch> 295 295 <dependencies> -
trunk/Tools/wpe/jhbuild.modules
r247138 r247349 269 269 270 270 <meson id="atk" mesonargs="-Dintrospection=false"> 271 <branch module="pub/GNOME/sources/atk/2.3 2/atk-2.32.0.tar.xz" version="2.32.0"272 repo="ftp.gnome.org" 273 hash="sha256: cb41feda7fe4ef0daa024471438ea0219592baf7c291347e5a858bb64e4091cc"/>271 <branch module="pub/GNOME/sources/atk/2.33/atk-2.33.3.tar.xz" version="2.33.3" 272 repo="ftp.gnome.org" 273 hash="sha256:532d1081e87b9f0a8d71733101e791818442fa1896531621d1aecc189e1a4ffe"/> 274 274 <dependencies> 275 275 <dep package="glib"/> … … 278 278 279 279 <meson id="at-spi2-core" mesonargs="-Dintrospection=no -Dx11=no"> 280 <branch module="pub/GNOME/sources/at-spi2-core/2.3 2/at-spi2-core-2.32.1.tar.xz" version="2.32.1"281 repo="ftp.gnome.org" 282 hash="sha256: 3c2aa937ebfaca2c86569bce9b16a34fbe20d69ef0c58846313b1c42f53b0d53">280 <branch module="pub/GNOME/sources/at-spi2-core/2.33/at-spi2-core-2.33.2.tar.xz" version="2.33.2" 281 repo="ftp.gnome.org" 282 hash="sha256:0e3f44707cccf9ec9098f84abdf91ea654c919eac3c688400f8d261383cc2abe"> 283 283 </branch> 284 284 <dependencies> … … 288 288 289 289 <meson id="at-spi2-atk"> 290 <branch module="pub/GNOME/sources/at-spi2-atk/2.3 2/at-spi2-atk-2.32.0.tar.xz" version="2.32.0"291 repo="ftp.gnome.org" 292 hash="sha256: 0b51e6d339fa2bcca3a3e3159ccea574c67b107f1ac8b00047fa60e34ce7a45c">290 <branch module="pub/GNOME/sources/at-spi2-atk/2.33/at-spi2-atk-2.33.2.tar.xz" version="2.33.2" 291 repo="ftp.gnome.org" 292 hash="sha256:64d4351b245d717ec6f4f81fd40fe67481ff8e62d3893d465f01e71d9a3db3d3"> 293 293 </branch> 294 294 <dependencies>
Note: See TracChangeset
for help on using the changeset viewer.