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