WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
237014
AX: Fix accessibility/aria-current-state-changed-notification.html in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=237014
Summary
AX: Fix accessibility/aria-current-state-changed-notification.html in isolate...
Tyler Wilcock
Reported
2022-02-21 19:04:33 PST
We need to update AXPropertyName::CurrentValue when we get a AXCurrentStateChanged notification.
Attachments
Patch
(2.77 KB, patch)
2022-02-21 19:06 PST
,
Tyler Wilcock
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-02-21 19:04:45 PST
<
rdar://problem/89270112
>
Tyler Wilcock
Comment 2
2022-02-21 19:06:45 PST
Created
attachment 452811
[details]
Patch
Andres Gonzalez
Comment 3
2022-02-22 05:28:47 PST
(In reply to Tyler Wilcock from
comment #2
)
> Created
attachment 452811
[details]
> Patch
--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp + case AXPropertyName::CurrentValue: + propertyMap.set(AXPropertyName::CurrentValue, axObject.currentValue().isolatedCopy()); + break; Do we need to also clear the state in the object that is loosing current? Or we get separate notifications for each.
Tyler Wilcock
Comment 4
2022-02-22 07:54:36 PST
(In reply to Andres Gonzalez from
comment #3
)
> (In reply to Tyler Wilcock from
comment #2
) > > Created
attachment 452811
[details]
> > Patch > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > + case AXPropertyName::CurrentValue: > + propertyMap.set(AXPropertyName::CurrentValue, > axObject.currentValue().isolatedCopy()); > + break; > > Do we need to also clear the state in the object that is loosing current? Or > we get separate notifications for each.
(In reply to Andres Gonzalez from
comment #3
)
> (In reply to Tyler Wilcock from
comment #2
) > > Created
attachment 452811
[details]
> > Patch > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > + case AXPropertyName::CurrentValue: > + propertyMap.set(AXPropertyName::CurrentValue, > axObject.currentValue().isolatedCopy()); > + break; > > Do we need to also clear the state in the object that is loosing current? Or > we get separate notifications for each.
We get an AXCurrentStateChanged notification for each individual element that changes aria-current, so assuming correct authoring we would get separate notifications for each -- one gaining current status, and the other losing it.
Andres Gonzalez
Comment 5
2022-02-22 08:04:28 PST
(In reply to Tyler Wilcock from
comment #4
)
> (In reply to Andres Gonzalez from
comment #3
) > > (In reply to Tyler Wilcock from
comment #2
) > > > Created
attachment 452811
[details]
> > > Patch > > > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > > + case AXPropertyName::CurrentValue: > > + propertyMap.set(AXPropertyName::CurrentValue, > > axObject.currentValue().isolatedCopy()); > > + break; > > > > Do we need to also clear the state in the object that is loosing current? Or > > we get separate notifications for each. > (In reply to Andres Gonzalez from
comment #3
) > > (In reply to Tyler Wilcock from
comment #2
) > > > Created
attachment 452811
[details]
> > > Patch > > > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > > + case AXPropertyName::CurrentValue: > > + propertyMap.set(AXPropertyName::CurrentValue, > > axObject.currentValue().isolatedCopy()); > > + break; > > > > Do we need to also clear the state in the object that is loosing current? Or > > we get separate notifications for each. > We get an AXCurrentStateChanged notification for each individual element > that changes aria-current, so assuming correct authoring we would get > separate notifications for each -- one gaining current status, and the other > losing it.
Is the test covering that?
Andres Gonzalez
Comment 6
2022-02-22 08:07:01 PST
(In reply to Tyler Wilcock from
comment #4
)
> (In reply to Andres Gonzalez from
comment #3
) > > (In reply to Tyler Wilcock from
comment #2
) > > > Created
attachment 452811
[details]
> > > Patch > > > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > > + case AXPropertyName::CurrentValue: > > + propertyMap.set(AXPropertyName::CurrentValue, > > axObject.currentValue().isolatedCopy()); > > + break; > > > > Do we need to also clear the state in the object that is loosing current? Or > > we get separate notifications for each. > (In reply to Andres Gonzalez from
comment #3
) > > (In reply to Tyler Wilcock from
comment #2
) > > > Created
attachment 452811
[details]
> > > Patch > > > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > > + case AXPropertyName::CurrentValue: > > + propertyMap.set(AXPropertyName::CurrentValue, > > axObject.currentValue().isolatedCopy()); > > + break; > > > > Do we need to also clear the state in the object that is loosing current? Or > > we get separate notifications for each. > We get an AXCurrentStateChanged notification for each individual element > that changes aria-current, so assuming correct authoring we would get > separate notifications for each -- one gaining current status, and the other > losing it.
(In reply to Andres Gonzalez from
comment #5
)
> (In reply to Tyler Wilcock from
comment #4
) > > (In reply to Andres Gonzalez from
comment #3
) > > > (In reply to Tyler Wilcock from
comment #2
) > > > > Created
attachment 452811
[details]
> > > > Patch > > > > > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > > > > + case AXPropertyName::CurrentValue: > > > + propertyMap.set(AXPropertyName::CurrentValue, > > > axObject.currentValue().isolatedCopy()); > > > + break; > > > > > > Do we need to also clear the state in the object that is loosing current? Or > > > we get separate notifications for each. > > (In reply to Andres Gonzalez from
comment #3
) > > > (In reply to Tyler Wilcock from
comment #2
) > > > > Created
attachment 452811
[details]
> > > > Patch > > > > > > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp > > > > > > + case AXPropertyName::CurrentValue: > > > + propertyMap.set(AXPropertyName::CurrentValue, > > > axObject.currentValue().isolatedCopy()); > > > + break; > > > > > > Do we need to also clear the state in the object that is loosing current? Or > > > we get separate notifications for each. > > We get an AXCurrentStateChanged notification for each individual element > > that changes aria-current, so assuming correct authoring we would get > > separate notifications for each -- one gaining current status, and the other > > losing it. > > Is the test covering that?
It wasn't important before because we would query the live object, but it is important now in ITM.
Tyler Wilcock
Comment 7
2022-02-22 08:11:01 PST
> > Is the test covering that? > > It wasn't important before because we would query the live object, but it is > important now in ITM.
It does. The expectations exercised by the test are: Initial state item2: page item3: false Update item2 aria-current to false item2: false item3: false Update item3 aria-current to page item2: false item3: page
Andres Gonzalez
Comment 8
2022-02-22 08:15:25 PST
(In reply to Tyler Wilcock from
comment #7
)
> > > Is the test covering that? > > > > It wasn't important before because we would query the live object, but it is > > important now in ITM. > It does. The expectations exercised by the test are: > > Initial state > item2: page > item3: false > > Update item2 aria-current to false > item2: false > item3: false > > Update item3 aria-current to page > item2: false > item3: page
Great, thanks!
Jonathan Bedard
Comment 9
2022-02-22 08:22:48 PST
Stopped
https://ews-build.webkit.org/#/builders/70/builds/984
, the 3 failures are already known.
EWS
Comment 10
2022-02-22 09:07:10 PST
Committed
r290309
(
247632@main
): <
https://commits.webkit.org/247632@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 452811
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug