[webkit-changes] [WebKit/WebKit] f2257d: Add support for ElementInternals.role, ariaLabel, ...

Ryosuke Niwa noreply at github.com
Thu Sep 8 11:59:47 PDT 2022


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

  Changed paths:
    A LayoutTests/accessibility/custom-elements/role-expected.txt
    A LayoutTests/accessibility/custom-elements/role.html
    M LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/ElementInternals-accessibility-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M LayoutTests/platform/win/TestExpectations
    M Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    A Source/WebCore/dom/CustomElementDefaultARIA.cpp
    A Source/WebCore/dom/CustomElementDefaultARIA.h
    M Source/WebCore/dom/Element.cpp
    M Source/WebCore/dom/Element.h
    M Source/WebCore/dom/ElementInternals.cpp
    M Source/WebCore/dom/ElementInternals.h
    M Source/WebCore/dom/ElementInternals.idl
    M Source/WebCore/dom/ElementRareData.cpp
    M Source/WebCore/dom/ElementRareData.h
    M Source/WebCore/dom/Node.cpp
    M Source/WebCore/dom/NodeRareData.h

  Log Message:
  -----------
  Add support for ElementInternals.role, ariaLabel, and ariaRoleDescription
https://bugs.webkit.org/show_bug.cgi?id=244779

Reviewed by Manuel Rego Casasnovas.

Add a runtime flag, DefaultARIAForCustomElementsEnabled, for default ARIA for custom elements,
and add the support for ElementInternals.role, ariaLabel, and ariaRoleDescription. The values of
these default ARIA attributes are stored in CustomElementDefaultARIA via ElementRareData.

* LayoutTests/accessibility/custom-elements/role-expected.txt: Added.
* LayoutTests/accessibility/custom-elements/role.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/ElementInternals-accessibility-expected.txt:
* LayoutTests/platform/mac-wk1/TestExpectations:
* LayoutTests/platform/win/TestExpectations:

* Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
* Source/WebCore/Sources.txt:

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

* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::getAttribute const): Added the support for reading values off of
CustomElementDefaultARIA when there is no content attribute specified.

* Source/WebCore/dom/CustomElementDefaultARIA.cpp: Added.
(WebCore::CustomElementDefaultARIA::setValueForAttribute): Added.
(WebCore::CustomElementDefaultARIA::valueForAttribute const): Added.
* Source/WebCore/dom/CustomElementDefaultARIA.h: Added.

* Source/WebCore/dom/Element.cpp:
(WebCore::Element::customElementDefaultARIA): Added.
(WebCore::Element::customElementDefaultARIAIfExists): Added.
* Source/WebCore/dom/Element.h:

* Source/WebCore/dom/ElementInternals.cpp:
(WebCore::ElementInternals::setRole): Added.
(WebCore::ElementInternals::role): Added.
(WebCore::ElementInternals::setAriaRoleDescription): Added.
(WebCore::ElementInternals::ariaRoleDescription): Added.
(WebCore::ElementInternals::setAriaLabel): Added.
(WebCore::ElementInternals::ariaLabel): Added.
(WebCore::ElementInternals::setAriaValueForAttribute): Added.
(WebCore::ElementInternals::ariaValueForAttribute): Added.
* Source/WebCore/dom/ElementInternals.h:

* Source/WebCore/dom/ElementInternals.idl:

* Source/WebCore/dom/ElementRareData.cpp:
* Source/WebCore/dom/ElementRareData.h:
(WebCore::ElementRareData::customElementDefaultARIA): Added.
(WebCore::ElementRareData::setCustomElementDefaultARIA): Added.
(WebCore::ElementRareData::useTypes const):

* Source/WebCore/dom/Node.cpp:
(WebCore::stringForRareDataUseType):
* Source/WebCore/dom/NodeRareData.h:

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




More information about the webkit-changes mailing list