Bug 262002

Summary: AX: Non-group and non-tree-item children of role="treeitem"s become stale after dynamic changes
Product: WebKit Reporter: Tyler Wilcock <tyler_w>
Component: AccessibilityAssignee: Tyler Wilcock <tyler_w>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, andresg_22, apinheiro, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Tyler Wilcock
Reported 2023-09-23 10:59:15 PDT
...
Attachments
Patch (12.74 KB, patch)
2023-09-23 11:04 PDT, Tyler Wilcock
no flags
Patch (12.62 KB, patch)
2023-09-23 15:58 PDT, Tyler Wilcock
no flags
Radar WebKit Bug Importer
Comment 1 2023-09-23 10:59:24 PDT
Tyler Wilcock
Comment 2 2023-09-23 11:04:45 PDT
chris fleizach
Comment 3 2023-09-23 12:04:53 PDT
Comment on attachment 467835 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=467835&action=review > LayoutTests/accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt:22 > +document.getElementById('treeitem2').appendChild(document.getElementById('foo-button')) This looks wrong
Tyler Wilcock
Comment 4 2023-09-23 12:14:36 PDT
(In reply to chris fleizach from comment #3) > Comment on attachment 467835 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=467835&action=review > > > LayoutTests/accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt:22 > > +document.getElementById('treeitem2').appendChild(document.getElementById('foo-button')) > > This looks wrong How so? It moves #foo-button to be a child of #treeitem2.
chris fleizach
Comment 5 2023-09-23 13:26:04 PDT
Comment on attachment 467835 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=467835&action=review >>> LayoutTests/accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt:22 >>> +document.getElementById('treeitem2').appendChild(document.getElementById('foo-button')) >> >> This looks wrong > > How so? It moves #foo-button to be a child of #treeitem2. Shouldn't this JavaScript have been executed? This is the expected file
Tyler Wilcock
Comment 6 2023-09-23 14:50:33 PDT
(In reply to chris fleizach from comment #5) > Comment on attachment 467835 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=467835&action=review > > >>> LayoutTests/accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt:22 > >>> +document.getElementById('treeitem2').appendChild(document.getElementById('foo-button')) > >> > >> This looks wrong > > > > How so? It moves #foo-button to be a child of #treeitem2. > > Shouldn't this JavaScript have been executed? This is the expected file The test uses `evalAndReturn`, which executes the JavaScript and then returns it at as string so that we can include it in the output. I like it because it makes reading the expectation easier (you can see the JS alongside the expected effect to the accessibility tree). But I can remove it if you'd prefer.
chris fleizach
Comment 7 2023-09-23 15:37:32 PDT
Comment on attachment 467835 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=467835&action=review >>>>> LayoutTests/accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt:22 >>>>> +document.getElementById('treeitem2').appendChild(document.getElementById('foo-button')) >>>> >>>> This looks wrong >>> >>> How so? It moves #foo-button to be a child of #treeitem2. >> >> Shouldn't this JavaScript have been executed? This is the expected file > > The test uses `evalAndReturn`, which executes the JavaScript and then returns it at as string so that we can include it in the output. I like it because it makes reading the expectation easier (you can see the JS alongside the expected effect to the accessibility tree). But I can remove it if you'd prefer. Is this a pattern other WebKit tests are going in? Personally I think it makes expected output harder to read. I think main concern though is that we don't so this anywhere else, so why is this test case so special?
Tyler Wilcock
Comment 8 2023-09-23 15:55:41 PDT
(In reply to chris fleizach from comment #7) > Comment on attachment 467835 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=467835&action=review > > >>>>> LayoutTests/accessibility/mac/tree-properties-update-after-dynamic-change-expected.txt:22 > >>>>> +document.getElementById('treeitem2').appendChild(document.getElementById('foo-button')) > >>>> > >>>> This looks wrong > >>> > >>> How so? It moves #foo-button to be a child of #treeitem2. > >> > >> Shouldn't this JavaScript have been executed? This is the expected file > > > > The test uses `evalAndReturn`, which executes the JavaScript and then returns it at as string so that we can include it in the output. I like it because it makes reading the expectation easier (you can see the JS alongside the expected effect to the accessibility tree). But I can remove it if you'd prefer. > > Is this a pattern other WebKit tests are going in? Personally I think it > makes expected output harder to read. I think main concern though is that we > don't so this anywhere else, so why is this test case so special? We use it in other accessibility tests, I invented it :). Andres has also expressed he doesn't like it, so I'll remove it from this patch and stop using it in future patches since that seems to be the consensus.
Tyler Wilcock
Comment 9 2023-09-23 15:58:08 PDT
EWS
Comment 10 2023-09-24 21:21:58 PDT
Committed 268385@main (3afbb0ed02b1): <https://commits.webkit.org/268385@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 467837 [details].
Note You need to log in before you can comment on or make changes to this bug.