| OLD | NEW |
| 1 Non-hidden div for comparison | 1 Non-hidden div for comparison |
| 2 non-hidden treeitem | 2 non-hidden treeitem |
| 3 hidden non-treeitem | 3 hidden non-treeitem |
| 4 Buttons are leaf nodes | 4 Buttons are leaf nodes |
| 5 Descendant of aria-hidden node | 5 Descendant of aria-hidden node |
| 6 | 6 |
| 7 List item also presentational | 7 List item also presentational |
| 8 Div in list isn't presentational | 8 Div in list isn't presentational |
| 9 Content within label refers to label container | 9 Content within label refers to label container |
| 10 { | 10 { |
| 11 "id": "<int>", | 11 "id": "<int>", |
| 12 "result": { | 12 "result": { |
| 13 "accessibilityNode": { | 13 "nodes": [ |
| 14 "nodeId": "<string>", | 14 { |
| 15 "ignored": false, | 15 "nodeId": "<string>", |
| 16 "role": { | 16 "ignored": false, |
| 17 "type": "internalRole", | 17 "role": { |
| 18 "value": "Div" | 18 "type": "internalRole", |
| 19 }, | 19 "value": "Div" |
| 20 "name": { | 20 }, |
| 21 "type": "computedString", | 21 "name": { |
| 22 "value": "", | 22 "type": "computedString", |
| 23 "sources": [ | 23 "value": "", |
| 24 { | 24 "sources": [ |
| 25 "type": "relatedElement", | 25 { |
| 26 "attribute": "aria-labelledby" | 26 "type": "relatedElement", |
| 27 "attribute": "aria-labelledby" |
| 28 }, |
| 29 { |
| 30 "type": "attribute", |
| 31 "attribute": "aria-label" |
| 32 }, |
| 33 { |
| 34 "type": "attribute", |
| 35 "attribute": "title" |
| 36 } |
| 37 ] |
| 38 }, |
| 39 "properties": [] |
| 40 } |
| 41 ] |
| 42 } |
| 43 } |
| 44 { |
| 45 "id": "<int>", |
| 46 "result": { |
| 47 "nodes": [ |
| 48 { |
| 49 "nodeId": "<string>", |
| 50 "ignored": false, |
| 51 "role": { |
| 52 "type": "role", |
| 53 "value": "treeitem" |
| 54 }, |
| 55 "name": { |
| 56 "type": "computedString", |
| 57 "value": "non-hidden treeitem", |
| 58 "sources": [ |
| 59 { |
| 60 "type": "relatedElement", |
| 61 "attribute": "aria-labelledby" |
| 62 }, |
| 63 { |
| 64 "type": "attribute", |
| 65 "attribute": "aria-label" |
| 66 }, |
| 67 { |
| 68 "type": "contents", |
| 69 "value": { |
| 70 "type": "computedString", |
| 71 "value": "non-hidden treeitem" |
| 72 } |
| 73 }, |
| 74 { |
| 75 "type": "attribute", |
| 76 "attribute": "title", |
| 77 "superseded": true |
| 78 } |
| 79 ] |
| 80 }, |
| 81 "properties": [ |
| 82 { |
| 83 "name": "level", |
| 84 "value": { |
| 85 "type": "integer", |
| 86 "value": 1 |
| 87 } |
| 27 }, | 88 }, |
| 28 { | 89 { |
| 29 "type": "attribute", | 90 "name": "checked", |
| 30 "attribute": "aria-label" | 91 "value": { |
| 92 "type": "tristate", |
| 93 "value": "false" |
| 94 } |
| 31 }, | 95 }, |
| 32 { | 96 { |
| 33 "type": "attribute", | 97 "name": "selected", |
| 34 "attribute": "title" | 98 "value": { |
| 99 "type": "boolean", |
| 100 "value": false |
| 101 } |
| 35 } | 102 } |
| 36 ] | 103 ] |
| 37 }, | 104 } |
| 38 "properties": [] | 105 ] |
| 39 } | 106 } |
| 40 } | 107 } |
| 41 } | 108 { |
| 42 { | 109 "id": "<int>", |
| 43 "id": "<int>", | 110 "result": { |
| 44 "result": { | 111 "nodes": [ |
| 45 "accessibilityNode": { | 112 { |
| 46 "nodeId": "<string>", | 113 "nodeId": "<string>", |
| 47 "ignored": false, | 114 "ignored": true, |
| 48 "role": { | 115 "ignoredReasons": [ |
| 49 "type": "role", | 116 { |
| 50 "value": "treeitem" | 117 "name": "ancestorDisallowsChild", |
| 51 }, | 118 "value": { |
| 52 "name": { | 119 "type": "idref", |
| 53 "type": "computedString", | 120 "relatedNodes": [ |
| 54 "value": "non-hidden treeitem", | 121 { |
| 55 "sources": [ | 122 "nodeResult": "div" |
| 56 { | 123 } |
| 57 "type": "relatedElement", | 124 ] |
| 58 "attribute": "aria-labelledby" | 125 } |
| 126 } |
| 127 ], |
| 128 "role": { |
| 129 "type": "internalRole", |
| 130 "value": "Div" |
| 131 } |
| 132 } |
| 133 ] |
| 134 } |
| 135 } |
| 136 { |
| 137 "id": "<int>", |
| 138 "result": { |
| 139 "nodes": [ |
| 140 { |
| 141 "nodeId": "<string>", |
| 142 "ignored": true, |
| 143 "ignoredReasons": [ |
| 144 { |
| 145 "name": "ancestorDisallowsChild", |
| 146 "value": { |
| 147 "type": "idref", |
| 148 "relatedNodes": [ |
| 149 { |
| 150 "nodeResult": "div" |
| 151 } |
| 152 ] |
| 153 } |
| 154 } |
| 155 ], |
| 156 "role": { |
| 157 "type": "internalRole", |
| 158 "value": "SVGRoot" |
| 159 } |
| 160 } |
| 161 ] |
| 162 } |
| 163 } |
| 164 { |
| 165 "id": "<int>", |
| 166 "result": { |
| 167 "nodes": [ |
| 168 { |
| 169 "nodeId": "<string>", |
| 170 "ignored": true, |
| 171 "ignoredReasons": [ |
| 172 { |
| 173 "name": "ancestorIsLeafNode", |
| 174 "value": { |
| 175 "type": "idref", |
| 176 "relatedNodes": [ |
| 177 { |
| 178 "nodeResult": "button" |
| 179 } |
| 180 ] |
| 181 } |
| 182 } |
| 183 ], |
| 184 "role": { |
| 185 "type": "internalRole", |
| 186 "value": "Unknown" |
| 187 } |
| 188 } |
| 189 ] |
| 190 } |
| 191 } |
| 192 { |
| 193 "id": "<int>", |
| 194 "result": { |
| 195 "nodes": [ |
| 196 { |
| 197 "nodeId": "<string>", |
| 198 "ignored": true, |
| 199 "ignoredReasons": [ |
| 200 { |
| 201 "name": "ariaHidden", |
| 202 "value": { |
| 203 "type": "boolean", |
| 204 "value": true |
| 205 } |
| 206 } |
| 207 ], |
| 208 "role": { |
| 209 "type": "internalRole", |
| 210 "value": "Div" |
| 211 } |
| 212 } |
| 213 ] |
| 214 } |
| 215 } |
| 216 { |
| 217 "id": "<int>", |
| 218 "result": { |
| 219 "nodes": [ |
| 220 { |
| 221 "nodeId": "<string>", |
| 222 "ignored": true, |
| 223 "ignoredReasons": [ |
| 224 { |
| 225 "name": "ariaHiddenRoot", |
| 226 "value": { |
| 227 "type": "idref", |
| 228 "relatedNodes": [ |
| 229 { |
| 230 "nodeResult": "div" |
| 231 } |
| 232 ] |
| 233 } |
| 234 } |
| 235 ], |
| 236 "role": { |
| 237 "type": "internalRole", |
| 238 "value": "Div" |
| 239 } |
| 240 } |
| 241 ] |
| 242 } |
| 243 } |
| 244 { |
| 245 "id": "<int>", |
| 246 "result": { |
| 247 "nodes": [ |
| 248 { |
| 249 "nodeId": "<string>", |
| 250 "ignored": true, |
| 251 "ignoredReasons": [ |
| 252 { |
| 253 "name": "emptyAlt", |
| 254 "value": { |
| 255 "type": "boolean", |
| 256 "value": true |
| 257 } |
| 258 } |
| 259 ], |
| 260 "role": { |
| 261 "type": "role", |
| 262 "value": "img" |
| 263 } |
| 264 } |
| 265 ] |
| 266 } |
| 267 } |
| 268 { |
| 269 "id": "<int>", |
| 270 "result": { |
| 271 "nodes": [ |
| 272 { |
| 273 "nodeId": "<string>", |
| 274 "ignored": true, |
| 275 "ignoredReasons": [ |
| 276 { |
| 277 "name": "presentationalRole", |
| 278 "value": { |
| 279 "type": "boolean", |
| 280 "value": true |
| 281 } |
| 282 } |
| 283 ], |
| 284 "role": { |
| 285 "type": "role", |
| 286 "value": "none" |
| 287 } |
| 288 } |
| 289 ] |
| 290 } |
| 291 } |
| 292 { |
| 293 "id": "<int>", |
| 294 "result": { |
| 295 "nodes": [ |
| 296 { |
| 297 "nodeId": "<string>", |
| 298 "ignored": true, |
| 299 "ignoredReasons": [ |
| 300 { |
| 301 "name": "inheritsPresentation", |
| 302 "value": { |
| 303 "type": "idref", |
| 304 "relatedNodes": [ |
| 305 { |
| 306 "nodeResult": "ol" |
| 307 } |
| 308 ] |
| 309 } |
| 310 } |
| 311 ], |
| 312 "role": { |
| 313 "type": "role", |
| 314 "value": "listitem" |
| 315 } |
| 316 } |
| 317 ] |
| 318 } |
| 319 } |
| 320 { |
| 321 "id": "<int>", |
| 322 "result": { |
| 323 "nodes": [ |
| 324 { |
| 325 "nodeId": "<string>", |
| 326 "ignored": false, |
| 327 "role": { |
| 328 "type": "internalRole", |
| 329 "value": "Div" |
| 330 }, |
| 331 "name": { |
| 332 "type": "computedString", |
| 333 "value": "", |
| 334 "sources": [ |
| 335 { |
| 336 "type": "relatedElement", |
| 337 "attribute": "aria-labelledby" |
| 338 }, |
| 339 { |
| 340 "type": "attribute", |
| 341 "attribute": "aria-label" |
| 342 }, |
| 343 { |
| 344 "type": "attribute", |
| 345 "attribute": "title" |
| 346 } |
| 347 ] |
| 348 }, |
| 349 "properties": [] |
| 350 } |
| 351 ] |
| 352 } |
| 353 } |
| 354 { |
| 355 "id": "<int>", |
| 356 "result": { |
| 357 "nodes": [ |
| 358 { |
| 359 "nodeId": "<string>", |
| 360 "ignored": true, |
| 361 "ignoredReasons": [ |
| 362 { |
| 363 "name": "labelFor", |
| 364 "value": { |
| 365 "type": "idref", |
| 366 "relatedNodes": [ |
| 367 { |
| 368 "idref": "checkbox", |
| 369 "nodeResult": "input#checkbox" |
| 370 } |
| 371 ] |
| 372 } |
| 373 } |
| 374 ], |
| 375 "role": { |
| 376 "type": "internalRole", |
| 377 "value": "Label" |
| 378 } |
| 379 } |
| 380 ] |
| 381 } |
| 382 } |
| 383 { |
| 384 "id": "<int>", |
| 385 "result": { |
| 386 "nodes": [ |
| 387 { |
| 388 "nodeId": "<string>", |
| 389 "ignored": true, |
| 390 "ignoredReasons": [ |
| 391 { |
| 392 "name": "labelContainer", |
| 393 "value": { |
| 394 "type": "idref", |
| 395 "relatedNodes": [ |
| 396 { |
| 397 "nodeResult": "label" |
| 398 } |
| 399 ] |
| 400 } |
| 59 }, | 401 }, |
| 60 { | 402 { |
| 61 "type": "attribute", | 403 "name": "labelFor", |
| 62 "attribute": "aria-label" | 404 "value": { |
| 63 }, | 405 "type": "idref", |
| 64 { | 406 "relatedNodes": [ |
| 65 "type": "contents", | 407 { |
| 66 "value": { | 408 "idref": "checkbox", |
| 67 "type": "computedString", | 409 "nodeResult": "input#checkbox" |
| 68 "value": "non-hidden treeitem" | 410 } |
| 69 } | 411 ] |
| 70 }, | 412 } |
| 71 { | 413 } |
| 72 "type": "attribute", | 414 ], |
| 73 "attribute": "title", | 415 "role": { |
| 74 "superseded": true | 416 "type": "internalRole", |
| 75 } | 417 "value": "Unknown" |
| 76 ] | 418 } |
| 77 }, | 419 } |
| 78 "properties": [ | 420 ] |
| 79 { | 421 } |
| 80 "name": "level", | 422 } |
| 81 "value": { | 423 { |
| 82 "type": "integer", | 424 "id": "<int>", |
| 83 "value": 1 | 425 "result": { |
| 84 } | 426 "nodes": [ |
| 85 }, | 427 { |
| 86 { | 428 "nodeId": "<string>", |
| 87 "name": "checked", | 429 "ignored": true, |
| 88 "value": { | 430 "ignoredReasons": [ |
| 89 "type": "tristate", | 431 { |
| 90 "value": "false" | 432 "name": "notRendered", |
| 91 } | 433 "value": { |
| 92 }, | 434 "type": "boolean", |
| 93 { | 435 "value": true |
| 94 "name": "selected", | 436 } |
| 95 "value": { | 437 } |
| 96 "type": "boolean", | 438 ], |
| 97 "value": false | 439 "role": { |
| 98 } | 440 "type": "internalRole", |
| 99 } | 441 "value": "Div" |
| 100 ] | 442 } |
| 101 } | 443 } |
| 102 } | 444 ] |
| 103 } | 445 } |
| 104 { | 446 } |
| 105 "id": "<int>", | 447 { |
| 106 "result": { | 448 "id": "<int>", |
| 107 "accessibilityNode": { | 449 "result": { |
| 108 "nodeId": "<string>", | 450 "nodes": [ |
| 109 "ignored": true, | 451 { |
| 110 "ignoredReasons": [ | 452 "nodeId": "<string>", |
| 111 { | 453 "ignored": true, |
| 112 "name": "ancestorDisallowsChild", | 454 "ignoredReasons": [ |
| 113 "value": { | 455 { |
| 114 "type": "idref", | 456 "name": "probablyPresentational", |
| 115 "relatedNodes": [ | 457 "value": { |
| 116 { | 458 "type": "boolean", |
| 117 "nodeResult": "div" | 459 "value": true |
| 118 } | 460 } |
| 119 ] | 461 } |
| 120 } | 462 ], |
| 121 } | 463 "role": { |
| 122 ], | 464 "type": "internalRole", |
| 123 "role": { | 465 "value": "Canvas" |
| 124 "type": "internalRole", | 466 } |
| 125 "value": "Div" | 467 } |
| 126 } | 468 ] |
| 127 } | |
| 128 } | |
| 129 } | |
| 130 { | |
| 131 "id": "<int>", | |
| 132 "result": { | |
| 133 "accessibilityNode": { | |
| 134 "nodeId": "<string>", | |
| 135 "ignored": true, | |
| 136 "ignoredReasons": [ | |
| 137 { | |
| 138 "name": "ancestorDisallowsChild", | |
| 139 "value": { | |
| 140 "type": "idref", | |
| 141 "relatedNodes": [ | |
| 142 { | |
| 143 "nodeResult": "div" | |
| 144 } | |
| 145 ] | |
| 146 } | |
| 147 } | |
| 148 ], | |
| 149 "role": { | |
| 150 "type": "internalRole", | |
| 151 "value": "SVGRoot" | |
| 152 } | |
| 153 } | |
| 154 } | |
| 155 } | |
| 156 { | |
| 157 "id": "<int>", | |
| 158 "result": { | |
| 159 "accessibilityNode": { | |
| 160 "nodeId": "<string>", | |
| 161 "ignored": true, | |
| 162 "ignoredReasons": [ | |
| 163 { | |
| 164 "name": "ancestorIsLeafNode", | |
| 165 "value": { | |
| 166 "type": "idref", | |
| 167 "relatedNodes": [ | |
| 168 { | |
| 169 "nodeResult": "button" | |
| 170 } | |
| 171 ] | |
| 172 } | |
| 173 } | |
| 174 ], | |
| 175 "role": { | |
| 176 "type": "internalRole", | |
| 177 "value": "Unknown" | |
| 178 } | |
| 179 } | |
| 180 } | |
| 181 } | |
| 182 { | |
| 183 "id": "<int>", | |
| 184 "result": { | |
| 185 "accessibilityNode": { | |
| 186 "nodeId": "<string>", | |
| 187 "ignored": true, | |
| 188 "ignoredReasons": [ | |
| 189 { | |
| 190 "name": "ariaHidden", | |
| 191 "value": { | |
| 192 "type": "boolean", | |
| 193 "value": true | |
| 194 } | |
| 195 } | |
| 196 ], | |
| 197 "role": { | |
| 198 "type": "internalRole", | |
| 199 "value": "Div" | |
| 200 } | |
| 201 } | |
| 202 } | |
| 203 } | |
| 204 { | |
| 205 "id": "<int>", | |
| 206 "result": { | |
| 207 "accessibilityNode": { | |
| 208 "nodeId": "<string>", | |
| 209 "ignored": true, | |
| 210 "ignoredReasons": [ | |
| 211 { | |
| 212 "name": "ariaHiddenRoot", | |
| 213 "value": { | |
| 214 "type": "idref", | |
| 215 "relatedNodes": [ | |
| 216 { | |
| 217 "nodeResult": "div" | |
| 218 } | |
| 219 ] | |
| 220 } | |
| 221 } | |
| 222 ], | |
| 223 "role": { | |
| 224 "type": "internalRole", | |
| 225 "value": "Div" | |
| 226 } | |
| 227 } | |
| 228 } | |
| 229 } | |
| 230 { | |
| 231 "id": "<int>", | |
| 232 "result": { | |
| 233 "accessibilityNode": { | |
| 234 "nodeId": "<string>", | |
| 235 "ignored": true, | |
| 236 "ignoredReasons": [ | |
| 237 { | |
| 238 "name": "emptyAlt", | |
| 239 "value": { | |
| 240 "type": "boolean", | |
| 241 "value": true | |
| 242 } | |
| 243 } | |
| 244 ], | |
| 245 "role": { | |
| 246 "type": "role", | |
| 247 "value": "img" | |
| 248 } | |
| 249 } | |
| 250 } | |
| 251 } | |
| 252 { | |
| 253 "id": "<int>", | |
| 254 "result": { | |
| 255 "accessibilityNode": { | |
| 256 "nodeId": "<string>", | |
| 257 "ignored": true, | |
| 258 "ignoredReasons": [ | |
| 259 { | |
| 260 "name": "presentationalRole", | |
| 261 "value": { | |
| 262 "type": "boolean", | |
| 263 "value": true | |
| 264 } | |
| 265 } | |
| 266 ], | |
| 267 "role": { | |
| 268 "type": "role", | |
| 269 "value": "none" | |
| 270 } | |
| 271 } | |
| 272 } | |
| 273 } | |
| 274 { | |
| 275 "id": "<int>", | |
| 276 "result": { | |
| 277 "accessibilityNode": { | |
| 278 "nodeId": "<string>", | |
| 279 "ignored": true, | |
| 280 "ignoredReasons": [ | |
| 281 { | |
| 282 "name": "inheritsPresentation", | |
| 283 "value": { | |
| 284 "type": "idref", | |
| 285 "relatedNodes": [ | |
| 286 { | |
| 287 "nodeResult": "ol" | |
| 288 } | |
| 289 ] | |
| 290 } | |
| 291 } | |
| 292 ], | |
| 293 "role": { | |
| 294 "type": "role", | |
| 295 "value": "listitem" | |
| 296 } | |
| 297 } | |
| 298 } | |
| 299 } | |
| 300 { | |
| 301 "id": "<int>", | |
| 302 "result": { | |
| 303 "accessibilityNode": { | |
| 304 "nodeId": "<string>", | |
| 305 "ignored": false, | |
| 306 "role": { | |
| 307 "type": "internalRole", | |
| 308 "value": "Div" | |
| 309 }, | |
| 310 "name": { | |
| 311 "type": "computedString", | |
| 312 "value": "", | |
| 313 "sources": [ | |
| 314 { | |
| 315 "type": "relatedElement", | |
| 316 "attribute": "aria-labelledby" | |
| 317 }, | |
| 318 { | |
| 319 "type": "attribute", | |
| 320 "attribute": "aria-label" | |
| 321 }, | |
| 322 { | |
| 323 "type": "attribute", | |
| 324 "attribute": "title" | |
| 325 } | |
| 326 ] | |
| 327 }, | |
| 328 "properties": [] | |
| 329 } | |
| 330 } | |
| 331 } | |
| 332 { | |
| 333 "id": "<int>", | |
| 334 "result": { | |
| 335 "accessibilityNode": { | |
| 336 "nodeId": "<string>", | |
| 337 "ignored": true, | |
| 338 "ignoredReasons": [ | |
| 339 { | |
| 340 "name": "labelFor", | |
| 341 "value": { | |
| 342 "type": "idref", | |
| 343 "relatedNodes": [ | |
| 344 { | |
| 345 "idref": "checkbox", | |
| 346 "nodeResult": "input#checkbox" | |
| 347 } | |
| 348 ] | |
| 349 } | |
| 350 } | |
| 351 ], | |
| 352 "role": { | |
| 353 "type": "internalRole", | |
| 354 "value": "Label" | |
| 355 } | |
| 356 } | |
| 357 } | |
| 358 } | |
| 359 { | |
| 360 "id": "<int>", | |
| 361 "result": { | |
| 362 "accessibilityNode": { | |
| 363 "nodeId": "<string>", | |
| 364 "ignored": true, | |
| 365 "ignoredReasons": [ | |
| 366 { | |
| 367 "name": "labelContainer", | |
| 368 "value": { | |
| 369 "type": "idref", | |
| 370 "relatedNodes": [ | |
| 371 { | |
| 372 "nodeResult": "label" | |
| 373 } | |
| 374 ] | |
| 375 } | |
| 376 }, | |
| 377 { | |
| 378 "name": "labelFor", | |
| 379 "value": { | |
| 380 "type": "idref", | |
| 381 "relatedNodes": [ | |
| 382 { | |
| 383 "idref": "checkbox", | |
| 384 "nodeResult": "input#checkbox" | |
| 385 } | |
| 386 ] | |
| 387 } | |
| 388 } | |
| 389 ], | |
| 390 "role": { | |
| 391 "type": "internalRole", | |
| 392 "value": "Unknown" | |
| 393 } | |
| 394 } | |
| 395 } | |
| 396 } | |
| 397 { | |
| 398 "id": "<int>", | |
| 399 "result": { | |
| 400 "accessibilityNode": { | |
| 401 "nodeId": "<string>", | |
| 402 "ignored": true, | |
| 403 "ignoredReasons": [ | |
| 404 { | |
| 405 "name": "notRendered", | |
| 406 "value": { | |
| 407 "type": "boolean", | |
| 408 "value": true | |
| 409 } | |
| 410 } | |
| 411 ], | |
| 412 "role": { | |
| 413 "type": "internalRole", | |
| 414 "value": "Div" | |
| 415 } | |
| 416 } | |
| 417 } | |
| 418 } | |
| 419 { | |
| 420 "id": "<int>", | |
| 421 "result": { | |
| 422 "accessibilityNode": { | |
| 423 "nodeId": "<string>", | |
| 424 "ignored": true, | |
| 425 "ignoredReasons": [ | |
| 426 { | |
| 427 "name": "probablyPresentational", | |
| 428 "value": { | |
| 429 "type": "boolean", | |
| 430 "value": true | |
| 431 } | |
| 432 } | |
| 433 ], | |
| 434 "role": { | |
| 435 "type": "internalRole", | |
| 436 "value": "Canvas" | |
| 437 } | |
| 438 } | |
| 439 } | 469 } |
| 440 } | 470 } |
| 441 | 471 |
| OLD | NEW |