[webkit-changes] [WebKit/WebKit] 6989a5: Implement ARIA id-ref reflection for ElementInternals

Ryosuke Niwa noreply at github.com
Tue Sep 20 21:28:54 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6989a5b880ac9b18befc8e0c921bac4f778a2189
      https://github.com/WebKit/WebKit/commit/6989a5b880ac9b18befc8e0c921bac4f778a2189
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2022-09-20 (Tue, 20 Sep 2022)

  Changed paths:
    A LayoutTests/accessibility/custom-elements/controls-expected.txt
    A LayoutTests/accessibility/custom-elements/controls.html
    A LayoutTests/accessibility/custom-elements/describedby-expected.txt
    A LayoutTests/accessibility/custom-elements/describedby.html
    A LayoutTests/accessibility/custom-elements/flowto-expected.txt
    A LayoutTests/accessibility/custom-elements/flowto.html
    M LayoutTests/accessibility/custom-elements/menuitem-expected.txt
    M LayoutTests/accessibility/custom-elements/menuitem.html
    M LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/ElementInternals-accessibility-expected.txt
    A LayoutTests/platform/gtk/accessibility/custom-elements/describedby-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    A Source/WebCore/bindings/js/JSElementInternalsCustom.cpp
    M Source/WebCore/dom/CustomElementDefaultARIA.cpp
    M Source/WebCore/dom/CustomElementDefaultARIA.h
    M Source/WebCore/dom/ElementInternals.cpp
    M Source/WebCore/dom/ElementInternals.h
    M Source/WebCore/dom/ElementInternals.idl

  Log Message:
  -----------
  Implement ARIA id-ref reflection for ElementInternals
https://bugs.webkit.org/show_bug.cgi?id=245328

Reviewed by Manuel Rego Casasnovas.

This patch adds the support for id-ref ARIA attributes to ElementInternals.

* LayoutTests/accessibility/custom-elements/controls-expected.txt: Added.
* LayoutTests/accessibility/custom-elements/controls.html: Added.
* LayoutTests/accessibility/custom-elements/describedby-expected.txt: Added.
* LayoutTests/accessibility/custom-elements/describedby.html: Added.
* LayoutTests/accessibility/custom-elements/flowto-expected.txt: Added.
* LayoutTests/accessibility/custom-elements/flowto.html: Added.
* LayoutTests/accessibility/custom-elements/menuitem-expected.txt:
* LayoutTests/accessibility/custom-elements/menuitem.html:
* LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/ElementInternals-accessibility-expected.txt:
* LayoutTests/platform/gtk/accessibility/custom-elements/describedby-expected.txt: Added.
* LayoutTests/platform/mac-wk1/TestExpectations:

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:

* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::isModalElement const):
(WebCore::nodeHasRole):
(WebCore::AXObjectCache::updateRelationsIfNeeded): Add the support for defining relations via ElementInternals.

* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::getAttribute const):
(WebCore::AccessibilityObject::elementsFromAttribute const): Ditto.

* Source/WebCore/bindings/js/JSElementInternalsCustom.cpp: Added.
(WebCore::getElementsArrayAttribute): Added.
(WebCore::JSElementInternals::ariaControlsElements const): Added.
(WebCore::JSElementInternals::ariaDescribedByElements const): Added.
(WebCore::JSElementInternals::ariaDetailsElements const): Added.
(WebCore::JSElementInternals::ariaErrorMessageElements const):
(WebCore::JSElementInternals::ariaFlowToElements const): Added.
(WebCore::JSElementInternals::ariaLabelledByElements const): Added.
(WebCore::JSElementInternals::ariaOwnsElements const): Added.

* Source/WebCore/dom/CustomElementDefaultARIA.cpp:
(WebCore::isElementVisible): Added.
(WebCore::CustomElementDefaultARIA::valueForAttribute const): Added the support for converting
WeakPtr<Element> and Vector<WeakPtr<Element>> to ID strings.
(WebCore::CustomElementDefaultARIA::elementForAttribute const): Added.
(WebCore::CustomElementDefaultARIA::setElementForAttribute): Added.
(WebCore::CustomElementDefaultARIA::elementsForAttribute const): Added.
(WebCore::CustomElementDefaultARIA::setElementsForAttribute): Added.

* Source/WebCore/dom/CustomElementDefaultARIA.h:

* Source/WebCore/dom/ElementInternals.cpp:
(WebCore::computeValueForAttribute): Extracted out of setAttributeWithoutSynchronization.
(WebCore::ElementInternals::setAttributeWithoutSynchronization):
(WebCore::ElementInternals::attributeWithoutSynchronization const):
(WebCore::ElementInternals::getElementAttribute const): Added.
(WebCore::ElementInternals::setElementAttribute): Added.
(WebCore::ElementInternals::getElementsArrayAttribute const): Added.
(WebCore::ElementInternals::setElementsArrayAttribute): Added.

* Source/WebCore/dom/ElementInternals.h:
* Source/WebCore/dom/ElementInternals.idl:

Canonical link: https://commits.webkit.org/254709@main




More information about the webkit-changes mailing list