AX: inert attribute doesn't cause display:contents element to be ignored
<rdar://problem/94034984>
Created attachment 459814 [details] Patch
Created attachment 459914 [details] Patch
(In reply to Tyler Wilcock from comment #3) > Created attachment 459914 [details] > Patch --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ a/Source/WebCore/accessibility/AccessibilityObject.cpp +const RenderStyle* AccessibilityObject::style() const Doesn't this belong to the AXNodeObject since it requires an underlying element? I.e., AccessibilityObject::style should always return nullptr, and AccessibilityNodeObject::style should be this implementation? --- a/LayoutTests/accessibility/node-only-inert-object.html +++ a/LayoutTests/accessibility/node-only-inert-object.html + await waitFor(() => accessibilityController.accessibleElementById("button") ); Is the space before the last ) needed?
Created attachment 459915 [details] Patch
(In reply to Andres Gonzalez from comment #4) > (In reply to Tyler Wilcock from comment #3) > > Created attachment 459914 [details] > > Patch > > --- a/Source/WebCore/accessibility/AccessibilityObject.cpp > +++ a/Source/WebCore/accessibility/AccessibilityObject.cpp > > +const RenderStyle* AccessibilityObject::style() const > > Doesn't this belong to the AXNodeObject since it requires an underlying > element? I.e., AccessibilityObject::style should always return nullptr, and > AccessibilityNodeObject::style should be this implementation? I don't think so, since it uses AccessibilityObject::element() to get the style. Non AXNodeObjects can and do provide a node() / element() / style(). For example, AccessibilityListBoxOption is not an AXNodeObject but provides a node(). Another theoretical example: AccessibilityScrollView isn't a node object, but could provide a node() / element() through AccessibilityScrollView::m_frameOwnerElement. So I think letting different AccessibilityObject subclasses provide node() / element() / style() however they can is OK. > --- a/LayoutTests/accessibility/node-only-inert-object.html > +++ a/LayoutTests/accessibility/node-only-inert-object.html > > + await waitFor(() => > accessibilityController.accessibleElementById("button") ); > > Is the space before the last ) needed? It isn't — fixed.
Created attachment 459916 [details] Patch
Committed r295090 (251185@main): <https://commits.webkit.org/251185@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 459916 [details].