Diff
Modified: trunk/LayoutTests/ChangeLog (234481 => 234482)
--- trunk/LayoutTests/ChangeLog 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/LayoutTests/ChangeLog 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,16 @@
+2018-08-01 Nan Wang <n_w...@apple.com>
+
+ AX: AOM: Add ARIA IDL Attribute Reflection
+ https://bugs.webkit.org/show_bug.cgi?id=184676
+ <rdar://problem/39476882>
+
+ Reviewed by Chris Fleizach.
+
+ * accessibility/ARIA-reflection-expected.txt: Added.
+ * accessibility/ARIA-reflection.html: Added.
+ * js/dom/dom-static-property-for-in-iteration.html:
+ * platform/win/TestExpectations:
+
2018-08-01 David Fenton <david_fen...@apple.com>
Layout Test editing/selection/update-selection-by-style-change.html is flaky.
Added: trunk/LayoutTests/accessibility/ARIA-reflection-expected.txt (0 => 234482)
--- trunk/LayoutTests/accessibility/ARIA-reflection-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/ARIA-reflection-expected.txt 2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,388 @@
+This tests ARIA IDL Attribute Reflection.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Test role < - > role
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["role"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("role", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaActiveDescendant < - > aria-activedescendant
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaActiveDescendant"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-activedescendant", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaAtomic < - > aria-atomic
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaAtomic"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-atomic", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaAutoComplete < - > aria-autocomplete
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaAutoComplete"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-autocomplete", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaBusy < - > aria-busy
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaBusy"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-busy", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaChecked < - > aria-checked
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaChecked"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-checked", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaColCount < - > aria-colcount
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaColCount"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-colcount", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaColIndex < - > aria-colindex
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaColIndex"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-colindex", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaColSpan < - > aria-colspan
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaColSpan"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-colspan", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaControls < - > aria-controls
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaControls"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-controls", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaCurrent < - > aria-current
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaCurrent"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-current", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaDescribedBy < - > aria-describedby
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaDescribedBy"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-describedby", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaDetails < - > aria-details
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaDetails"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-details", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaDisabled < - > aria-disabled
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaDisabled"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-disabled", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaErrorMessage < - > aria-errormessage
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaErrorMessage"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-errormessage", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaExpanded < - > aria-expanded
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaExpanded"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-expanded", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaFlowTo < - > aria-flowto
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaFlowTo"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-flowto", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaHasPopup < - > aria-haspopup
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaHasPopup"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-haspopup", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaHidden < - > aria-hidden
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaHidden"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-hidden", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaInvalid < - > aria-invalid
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaInvalid"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-invalid", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaKeyShortcuts < - > aria-keyshortcuts
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaKeyShortcuts"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-keyshortcuts", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLabel < - > aria-label
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLabel"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-label", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLabelledBy < - > aria-labelledby
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLabelledBy"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-labelledby", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLevel < - > aria-level
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLevel"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-level", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaLive < - > aria-live
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaLive"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-live", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaModal < - > aria-modal
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaModal"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-modal", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaMultiLine < - > aria-multiline
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaMultiLine"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-multiline", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaMultiSelectable < - > aria-multiselectable
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaMultiSelectable"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-multiselectable", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaOrientation < - > aria-orientation
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaOrientation"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-orientation", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaOwns < - > aria-owns
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaOwns"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-owns", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaPlaceholder < - > aria-placeholder
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaPlaceholder"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-placeholder", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaPosInSet < - > aria-posinset
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaPosInSet"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-posinset", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaPressed < - > aria-pressed
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaPressed"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-pressed", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaReadOnly < - > aria-readonly
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaReadOnly"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-readonly", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRelevant < - > aria-relevant
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRelevant"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-relevant", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRequired < - > aria-required
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRequired"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-required", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRoleDescription < - > aria-roledescription
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRoleDescription"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-roledescription", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRowCount < - > aria-rowcount
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRowCount"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-rowcount", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRowIndex < - > aria-rowindex
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRowIndex"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-rowindex", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaRowSpan < - > aria-rowspan
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaRowSpan"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-rowspan", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaSelected < - > aria-selected
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaSelected"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-selected", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaSetSize < - > aria-setsize
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaSetSize"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-setsize", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaSort < - > aria-sort
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaSort"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-sort", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueMax < - > aria-valuemax
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueMax"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuemax", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueMin < - > aria-valuemin
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueMin"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuemin", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueNow < - > aria-valuenow
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueNow"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuenow", otherData);
+PASS element[currentProperty] is otherData
+
+Test ariaValueText < - > aria-valuetext
+PASS element[currentProperty] is null
+PASS element.getAttribute(currentAttribute) is null
+element["ariaValueText"] = data;
+PASS element.getAttribute(currentAttribute) is data
+element.setAttribute("aria-valuetext", otherData);
+PASS element[currentProperty] is otherData
+
+
+PASS count is 46
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/accessibility/ARIA-reflection.html (0 => 234482)
--- trunk/LayoutTests/accessibility/ARIA-reflection.html (rev 0)
+++ trunk/LayoutTests/accessibility/ARIA-reflection.html 2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html>
+<body id="body">
+<script src=""
+<div id="content">
+
+<div id="test" data="" data">
+
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests ARIA IDL Attribute Reflection.");
+
+ var element = document.getElementById("test");
+ var data = ""
+ var otherData = "other data";
+ var currentProperty;
+ var currentAttribute;
+
+ function testElement() {
+ currentAttribute = currentProperty.replace("aria", "aria-").toLowerCase();
+
+ debug("\nTest " + currentProperty + " < - > " + currentAttribute);
+ shouldBeNull("element[currentProperty]");
+ shouldBeNull("element.getAttribute(currentAttribute)");
+
+ // Set the property value
+ debug("element[\"" + currentProperty + "\"] = data;");
+ element[currentProperty] = data;
+ shouldBe("element.getAttribute(currentAttribute)", "data");
+
+ // Set the attribute value
+ debug("element.setAttribute(\"" + currentAttribute + "\", otherData);");
+ element.setAttribute(currentAttribute, otherData);
+ shouldBe("element[currentProperty]", "otherData");
+ }
+
+ function testRole() {
+ currentProperty = "role";
+ testElement();
+ }
+
+ if (window.accessibilityController) {
+
+ testRole();
+
+ // There are 46 ARIA attributes in total.
+ var count = 0;
+ for (var propertyName in element) {
+ if (propertyName.startsWith("aria")) {
+ currentProperty = propertyName;
+ testElement();
+ count++;
+ }
+ }
+
+ debug("\n");
+ shouldBe("count", "46");
+
+ } else {
+ testFailed("Could not load accessibility controller");
+ }
+
+</script>
+
+<script src=""
+</body>
+</html>
Modified: trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration.html (234481 => 234482)
--- trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration.html 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration.html 2018-08-01 22:07:42 UTC (rev 234482)
@@ -27,6 +27,9 @@
continue;
if (i === "href" || i === "pathname" || i === "baseURI")
continue;
+ // ARIA attributes are tested in another test.
+ if (i === "role" || i.startsWith("aria"))
+ continue;
realShouldBe(expected, "a[\"" + i + "\"]", actual);
}
}
Modified: trunk/LayoutTests/platform/win/TestExpectations (234481 => 234482)
--- trunk/LayoutTests/platform/win/TestExpectations 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/LayoutTests/platform/win/TestExpectations 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1715,6 +1715,8 @@
# Text marker tests are not supported
webkit.org/b/153292 accessibility/text-marker [ Skip ]
+webkit.org/b/184676 accessibility/ARIA-reflection.html [ Skip ]
+
################################################################################
####################### End Accessibility Issues ###########################
################################################################################
Modified: trunk/Source/WebCore/CMakeLists.txt (234481 => 234482)
--- trunk/Source/WebCore/CMakeLists.txt 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/CMakeLists.txt 2018-08-01 22:07:42 UTC (rev 234482)
@@ -439,7 +439,9 @@
Modules/webvr/VRPose.idl
Modules/webvr/VRStageParameters.idl
+ accessibility/AccessibilityRole.idl
accessibility/AccessibleSetValueEvent.idl
+ accessibility/AriaAttributes.idl
animation/Animatable.idl
animation/AnimationEffectReadOnly.idl
Modified: trunk/Source/WebCore/ChangeLog (234481 => 234482)
--- trunk/Source/WebCore/ChangeLog 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/ChangeLog 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,23 @@
+2018-08-01 Nan Wang <n_w...@apple.com>
+
+ AX: AOM: Add ARIA IDL Attribute Reflection
+ https://bugs.webkit.org/show_bug.cgi?id=184676
+ <rdar://problem/39476882>
+
+ Reviewed by Chris Fleizach.
+
+ Test: accessibility/ARIA-reflection.html
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * WebCore.xcodeproj/project.pbxproj:
+ * accessibility/AccessibilityRole.idl: Added.
+ * accessibility/AriaAttributes.idl: Added.
+ * dom/Element.idl:
+ * page/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setAriaReflectionEnabled):
+ (WebCore::RuntimeEnabledFeatures::ariaReflectionEnabled const):
+
2018-08-01 Zalan Bujtas <za...@apple.com>
[LFC][Floating] Revert back to only one list for the all the floatings.
Modified: trunk/Source/WebCore/DerivedSources.make (234481 => 234482)
--- trunk/Source/WebCore/DerivedSources.make 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/DerivedSources.make 2018-08-01 22:07:42 UTC (rev 234482)
@@ -360,7 +360,9 @@
$(WebCore)/Modules/webvr/VRLayerInit.idl \
$(WebCore)/Modules/webvr/VRPose.idl \
$(WebCore)/Modules/webvr/VRStageParameters.idl \
+ $(WebCore)/accessibility/AccessibilityRole.idl \
$(WebCore)/accessibility/AccessibleSetValueEvent.idl \
+ $(WebCore)/accessibility/AriaAttributes.idl \
$(WebCore)/animation/Animatable.idl \
$(WebCore)/animation/AnimationEffectReadOnly.idl \
$(WebCore)/animation/AnimationEffectTiming.idl \
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (234481 => 234482)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2018-08-01 22:07:42 UTC (rev 234482)
@@ -11750,6 +11750,8 @@
A9D248030D757E7D00FDF959 /* JSDOMMimeType.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSDOMMimeType.h; sourceTree = "<group>"; };
A9D248040D757E7D00FDF959 /* JSDOMMimeTypeArray.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMMimeTypeArray.cpp; sourceTree = "<group>"; };
A9D248050D757E7D00FDF959 /* JSDOMMimeTypeArray.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSDOMMimeTypeArray.h; sourceTree = "<group>"; };
+ A9EE448C210FC9AD00B6EAE6 /* AriaAttributes.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AriaAttributes.idl; sourceTree = "<group>"; };
+ A9EE448F210FD69A00B6EAE6 /* AccessibilityRole.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AccessibilityRole.idl; sourceTree = "<group>"; };
A9F2E0E720475CDC00512855 /* AccessibleSetValueEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibleSetValueEvent.cpp; sourceTree = "<group>"; };
A9F2E0E820475CDC00512855 /* AccessibleSetValueEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibleSetValueEvent.h; sourceTree = "<group>"; };
A9F2E0E920475CDE00512855 /* AccessibleSetValueEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibleSetValueEvent.idl; sourceTree = "<group>"; };
@@ -16556,6 +16558,8 @@
A9F2E0E720475CDC00512855 /* AccessibleSetValueEvent.cpp */,
A9F2E0E820475CDC00512855 /* AccessibleSetValueEvent.h */,
A9F2E0E920475CDE00512855 /* AccessibleSetValueEvent.idl */,
+ A9EE448F210FD69A00B6EAE6 /* AccessibilityRole.idl */,
+ A9EE448C210FC9AD00B6EAE6 /* AriaAttributes.idl */,
2981CAAF131822EC00D12F2A /* AXObjectCache.cpp */,
29A8121A0FBB9C1D00510293 /* AXObjectCache.h */,
91C9F2F81AE3BE240095B61C /* AXTextStateChangeIntent.h */,
Added: trunk/Source/WebCore/accessibility/AccessibilityRole.idl (0 => 234482)
--- trunk/Source/WebCore/accessibility/AccessibilityRole.idl (rev 0)
+++ trunk/Source/WebCore/accessibility/AccessibilityRole.idl 2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+ EnabledAtRuntime=AriaReflection,
+ NoInterfaceObject,
+] interface AccessibilityRole {
+ [Reflect] attribute DOMString? role;
+};
Added: trunk/Source/WebCore/accessibility/AriaAttributes.idl (0 => 234482)
--- trunk/Source/WebCore/accessibility/AriaAttributes.idl (rev 0)
+++ trunk/Source/WebCore/accessibility/AriaAttributes.idl 2018-08-01 22:07:42 UTC (rev 234482)
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+ EnabledAtRuntime=AriaReflection,
+ NoInterfaceObject,
+] interface AriaAttributes {
+ [Reflect=aria_activedescendant] attribute DOMString? ariaActiveDescendant;
+ [Reflect=aria_atomic] attribute DOMString? ariaAtomic;
+ [Reflect=aria_autocomplete] attribute DOMString? ariaAutoComplete;
+ [Reflect=aria_busy] attribute DOMString? ariaBusy;
+ [Reflect=aria_checked] attribute DOMString? ariaChecked;
+ [Reflect=aria_colcount] attribute DOMString? ariaColCount;
+ [Reflect=aria_colindex] attribute DOMString? ariaColIndex;
+ [Reflect=aria_colspan] attribute DOMString? ariaColSpan;
+ [Reflect=aria_controls] attribute DOMString? ariaControls;
+ [Reflect=aria_current] attribute DOMString? ariaCurrent;
+ [Reflect=aria_describedby] attribute DOMString? ariaDescribedBy;
+ [Reflect=aria_details] attribute DOMString? ariaDetails;
+ [Reflect=aria_disabled] attribute DOMString? ariaDisabled;
+ [Reflect=aria_errormessage] attribute DOMString? ariaErrorMessage;
+ [Reflect=aria_expanded] attribute DOMString? ariaExpanded;
+ [Reflect=aria_flowto] attribute DOMString? ariaFlowTo;
+ [Reflect=aria_haspopup] attribute DOMString? ariaHasPopup;
+ [Reflect=aria_hidden] attribute DOMString? ariaHidden;
+ [Reflect=aria_invalid] attribute DOMString? ariaInvalid;
+ [Reflect=aria_keyshortcuts] attribute DOMString? ariaKeyShortcuts;
+ [Reflect=aria_label] attribute DOMString? ariaLabel;
+ [Reflect=aria_labelledby] attribute DOMString? ariaLabelledBy;
+ [Reflect=aria_level] attribute DOMString? ariaLevel;
+ [Reflect=aria_live] attribute DOMString? ariaLive;
+ [Reflect=aria_modal] attribute DOMString? ariaModal;
+ [Reflect=aria_multiline] attribute DOMString? ariaMultiLine;
+ [Reflect=aria_multiselectable] attribute DOMString? ariaMultiSelectable;
+ [Reflect=aria_orientation] attribute DOMString? ariaOrientation;
+ [Reflect=aria_owns] attribute DOMString? ariaOwns;
+ [Reflect=aria_placeholder] attribute DOMString? ariaPlaceholder;
+ [Reflect=aria_posinset] attribute DOMString? ariaPosInSet;
+ [Reflect=aria_pressed] attribute DOMString? ariaPressed;
+ [Reflect=aria_readonly] attribute DOMString? ariaReadOnly;
+ [Reflect=aria_relevant] attribute DOMString? ariaRelevant;
+ [Reflect=aria_required] attribute DOMString? ariaRequired;
+ [Reflect=aria_roledescription] attribute DOMString? ariaRoleDescription;
+ [Reflect=aria_rowcount] attribute DOMString? ariaRowCount;
+ [Reflect=aria_rowindex] attribute DOMString? ariaRowIndex;
+ [Reflect=aria_rowspan] attribute DOMString? ariaRowSpan;
+ [Reflect=aria_selected] attribute DOMString? ariaSelected;
+ [Reflect=aria_setsize] attribute DOMString? ariaSetSize;
+ [Reflect=aria_sort] attribute DOMString? ariaSort;
+ [Reflect=aria_valuemax] attribute DOMString? ariaValueMax;
+ [Reflect=aria_valuemin] attribute DOMString? ariaValueMin;
+ [Reflect=aria_valuenow] attribute DOMString? ariaValueNow;
+ [Reflect=aria_valuetext] attribute DOMString? ariaValueText;
+};
Modified: trunk/Source/WebCore/dom/Element.idl (234481 => 234482)
--- trunk/Source/WebCore/dom/Element.idl 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/dom/Element.idl 2018-08-01 22:07:42 UTC (rev 234482)
@@ -158,6 +158,8 @@
required ShadowRootMode mode;
};
+Element implements AccessibilityRole;
+Element implements AriaAttributes;
Element implements Animatable;
Element implements ChildNode;
Element implements DocumentAndElementEventHandlers;
Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (234481 => 234482)
--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2018-08-01 22:07:42 UTC (rev 234482)
@@ -243,6 +243,9 @@
void setAccessibilityObjectModelEnabled(bool isEnabled) { m_accessibilityObjectModelEnabled = isEnabled; }
bool accessibilityObjectModelEnabled() const { return m_accessibilityObjectModelEnabled; }
+
+ void setAriaReflectionEnabled(bool isEnabled) { m_ariaReflectionEnabled = isEnabled; }
+ bool ariaReflectionEnabled() const { return m_ariaReflectionEnabled; }
void setMediaCapabilitiesEnabled(bool isEnabled) { m_mediaCapabilitiesEnabled = isEnabled; }
bool mediaCapabilitiesEnabled() const { return m_mediaCapabilitiesEnabled; }
@@ -402,6 +405,7 @@
bool m_inspectorAdditionsEnabled { false };
bool m_webVREnabled { false };
bool m_accessibilityObjectModelEnabled { false };
+ bool m_ariaReflectionEnabled { true };
bool m_mediaCapabilitiesEnabled { false };
bool m_resourceLoadStatisticsDebugMode { false };
bool m_isRestrictedHTTPResponseAccess { true };
Modified: trunk/Source/WebKit/ChangeLog (234481 => 234482)
--- trunk/Source/WebKit/ChangeLog 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/ChangeLog 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,21 @@
+2018-08-01 Nan Wang <n_w...@apple.com>
+
+ AX: AOM: Add ARIA IDL Attribute Reflection
+ https://bugs.webkit.org/show_bug.cgi?id=184676
+ <rdar://problem/39476882>
+
+ Added ARIA property string reflection on Element, behind
+ a new runtime flag.
+ Spec: https://w3c.github.io/aria/#idl-interface
+
+ Reviewed by Chris Fleizach.
+
+ * Shared/WebPreferences.yaml:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetAriaReflectionEnabled):
+ (WKPreferencesGetAriaReflectionEnabled):
+ * UIProcess/API/C/WKPreferencesRefPrivate.h:
+
2018-08-01 Alex Christensen <achristen...@webkit.org>
Allow WebFramePolicyListenerProxy to be used multiple times
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (234481 => 234482)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1231,6 +1231,14 @@
category: experimental
webcoreBinding: RuntimeEnabledFeatures
+AriaReflectionEnabled:
+ type: bool
+ defaultValue: true
+ humanReadableName: "ARIA Reflection"
+ humanReadableDescription: "ARIA Reflection support"
+ category: experimental
+ webcoreBinding: RuntimeEnabledFeatures
+
WebVREnabled:
type: bool
defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp (234481 => 234482)
--- trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1958,6 +1958,16 @@
return toImpl(preferencesRef)->accessibilityObjectModelEnabled();
}
+void WKPreferencesSetAriaReflectionEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+ toImpl(preferencesRef)->setAriaReflectionEnabled(flag);
+}
+
+bool WKPreferencesGetAriaReflectionEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->ariaReflectionEnabled();
+}
+
void WKPreferencesSetShouldAllowUserInstalledFonts(WKPreferencesRef preferencesRef, bool flag)
{
toImpl(preferencesRef)->setShouldAllowUserInstalledFonts(flag);
Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h (234481 => 234482)
--- trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h 2018-08-01 22:07:42 UTC (rev 234482)
@@ -557,6 +557,10 @@
WK_EXPORT void WKPreferencesSetAccessibilityObjectModelEnabled(WKPreferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetAccessibilityObjectModelEnabled(WKPreferencesRef);
+// Defaults to true
+WK_EXPORT void WKPreferencesSetAriaReflectionEnabled(WKPreferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetAriaReflectionEnabled(WKPreferencesRef);
+
// Defaults to false.
WK_EXPORT void WKPreferencesSetShouldAllowUserInstalledFonts(WKPreferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetShouldAllowUserInstalledFonts(WKPreferencesRef);
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (234481 => 234482)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,20 @@
+2018-08-01 Nan Wang <n_w...@apple.com>
+
+ AX: AOM: Add ARIA IDL Attribute Reflection
+ https://bugs.webkit.org/show_bug.cgi?id=184676
+ <rdar://problem/39476882>
+
+ Reviewed by Chris Fleizach.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences ariaReflectionEnabled]):
+ (-[WebPreferences setAriaReflectionEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2018-07-30 Simon Fraser <simon.fra...@apple.com>
Shrink GraphicsLayerCA
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (234481 => 234482)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2018-08-01 22:07:42 UTC (rev 234482)
@@ -258,5 +258,6 @@
#define WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallbackKey @"WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallback"
#define WebKitInspectorAdditionsEnabledPreferenceKey @"WebKitInspectorAdditionsEnabled"
#define WebKitAccessibilityObjectModelEnabledPreferenceKey @"WebKitAccessibilityObjectModelEnabled"
+#define WebKitAriaReflectionEnabledPreferenceKey @"WebKitAriaReflectionEnabled"
#define WebKitMediaCapabilitiesEnabledPreferenceKey @"WebKitMediaCapabilitiesEnabled"
#define WebKitServerTimingEnabledPreferenceKey @"WebKitServerTimingEnabled"
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (234481 => 234482)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2018-08-01 22:07:42 UTC (rev 234482)
@@ -682,6 +682,7 @@
@NO, WebKitInspectorAdditionsEnabledPreferenceKey,
(NSString *)Settings::defaultMediaContentTypesRequiringHardwareSupport(), WebKitMediaContentTypesRequiringHardwareSupportPreferenceKey,
@NO, WebKitAccessibilityObjectModelEnabledPreferenceKey,
+ @YES, WebKitAriaReflectionEnabledPreferenceKey,
@NO, WebKitMediaCapabilitiesEnabledPreferenceKey,
@NO, WebKitFetchAPIKeepAliveEnabledPreferenceKey,
@NO, WebKitServerTimingEnabledPreferenceKey,
@@ -3323,6 +3324,16 @@
[self _setBoolValue:flag forKey:WebKitAccessibilityObjectModelEnabledPreferenceKey];
}
+- (BOOL)ariaReflectionEnabled
+{
+ return [self _boolValueForKey:WebKitAriaReflectionEnabledPreferenceKey];
+}
+
+- (void)setAriaReflectionEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitAriaReflectionEnabledPreferenceKey];
+}
+
- (BOOL)mediaCapabilitiesEnabled
{
return [self _boolValueForKey:WebKitMediaCapabilitiesEnabledPreferenceKey];
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (234481 => 234482)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2018-08-01 22:07:42 UTC (rev 234482)
@@ -608,6 +608,7 @@
@property (nonatomic) BOOL inspectorAdditionsEnabled;
@property (nonatomic) BOOL allowMediaContentTypesRequiringHardwareSupportAsFallback;
@property (nonatomic) BOOL accessibilityObjectModelEnabled;
+@property (nonatomic) BOOL ariaReflectionEnabled;
@property (nonatomic) BOOL mediaCapabilitiesEnabled;
@property (nonatomic) BOOL allowCrossOriginSubresourcesToAskForCredentials;
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (234481 => 234482)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2018-08-01 22:07:42 UTC (rev 234482)
@@ -3125,6 +3125,7 @@
RuntimeEnabledFeatures::sharedFeatures().setDirectoryUploadEnabled([preferences directoryUploadEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setMenuItemElementEnabled([preferences menuItemElementEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setAccessibilityObjectModelEnabled([preferences accessibilityObjectModelEnabled]);
+ RuntimeEnabledFeatures::sharedFeatures().setAriaReflectionEnabled([preferences ariaReflectionEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setMediaCapabilitiesEnabled([preferences mediaCapabilitiesEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setFetchAPIKeepAliveEnabled([preferences fetchAPIKeepAliveEnabled]);
Modified: trunk/Tools/ChangeLog (234481 => 234482)
--- trunk/Tools/ChangeLog 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Tools/ChangeLog 2018-08-01 22:07:42 UTC (rev 234482)
@@ -1,3 +1,16 @@
+2018-08-01 Nan Wang <n_w...@apple.com>
+
+ AX: AOM: Add ARIA IDL Attribute Reflection
+ https://bugs.webkit.org/show_bug.cgi?id=184676
+ <rdar://problem/39476882>
+
+ Reviewed by Chris Fleizach.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (enableExperimentalFeatures):
+ * WebKitTestRunner/TestController.cpp:
+ (WTR::TestController::resetPreferencesToConsistentValues):
+
2018-08-01 Jonathan Bedard <jbed...@apple.com>
Use iPhone SE as the default simulated device
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (234481 => 234482)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2018-08-01 22:07:42 UTC (rev 234482)
@@ -862,6 +862,7 @@
[preferences setWritableStreamAPIEnabled:YES];
preferences.encryptedMediaAPIEnabled = YES;
[preferences setAccessibilityObjectModelEnabled:YES];
+ [preferences setAriaReflectionEnabled:YES];
[preferences setVisualViewportAPIEnabled:YES];
[preferences setColorFilterEnabled:YES];
[preferences setCrossOriginWindowPolicySupportEnabled:YES];
Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (234481 => 234482)
--- trunk/Tools/WebKitTestRunner/TestController.cpp 2018-08-01 21:46:52 UTC (rev 234481)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp 2018-08-01 22:07:42 UTC (rev 234482)
@@ -772,6 +772,7 @@
WKPreferencesSetStorageAccessAPIEnabled(preferences, true);
WKPreferencesSetAccessibilityObjectModelEnabled(preferences, true);
+ WKPreferencesSetAriaReflectionEnabled(preferences, true);
WKPreferencesSetMediaCapabilitiesEnabled(preferences, true);
WKPreferencesSetCrossOriginWindowPolicyEnabled(preferences, true);