WebKit Bugzilla
Attachment 346144 Details for
Bug 184676
: AX: AOM: Add ARIA IDL Attribute Reflection
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
patch.txt (text/plain), 30.79 KB, created by
Nan Wang
on 2018-07-30 21:49:50 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Nan Wang
Created:
2018-07-30 21:49:50 PDT
Size:
30.79 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 234401) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,23 @@ >+2018-07-30 Nan Wang <n_wang@apple.com> >+ >+ AX: AOM: Add ARIA IDL Attribute Reflection >+ https://bugs.webkit.org/show_bug.cgi?id=184676 >+ <rdar://problem/39476882> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Added ARIA property string reflection on Element. >+ Spec: https://w3c.github.io/aria/#idl-interface >+ >+ Test: accessibility/ARIA-reflection.html >+ >+ * CMakeLists.txt: >+ * DerivedSources.make: >+ * WebCore.xcodeproj/project.pbxproj: >+ * accessibility/AccessibilityRole.idl: Added. >+ * accessibility/AriaAttributes.idl: Added. >+ * dom/Element.idl: >+ > 2018-07-30 Simon Fraser <simon.fraser@apple.com> > > Shrink GraphicsLayerCA >Index: Source/WebCore/CMakeLists.txt >=================================================================== >--- Source/WebCore/CMakeLists.txt (revision 234382) >+++ Source/WebCore/CMakeLists.txt (working copy) >@@ -439,7 +439,9 @@ set(WebCore_NON_SVG_IDL_FILES > Modules/webvr/VRPose.idl > Modules/webvr/VRStageParameters.idl > >+ accessibility/AccessibilityRole.idl > accessibility/AccessibleSetValueEvent.idl >+ accessibility/AriaAttributes.idl > > animation/Animatable.idl > animation/AnimationEffectReadOnly.idl >Index: Source/WebCore/DerivedSources.make >=================================================================== >--- Source/WebCore/DerivedSources.make (revision 234382) >+++ Source/WebCore/DerivedSources.make (working copy) >@@ -360,7 +360,9 @@ JS_BINDING_IDLS = \ > $(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 \ >Index: Source/WebCore/WebCore.xcodeproj/project.pbxproj >=================================================================== >--- Source/WebCore/WebCore.xcodeproj/project.pbxproj (revision 234382) >+++ Source/WebCore/WebCore.xcodeproj/project.pbxproj (working copy) >@@ -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 */, >Index: Source/WebCore/accessibility/AccessibilityRole.idl >=================================================================== >--- Source/WebCore/accessibility/AccessibilityRole.idl (nonexistent) >+++ Source/WebCore/accessibility/AccessibilityRole.idl (working copy) >@@ -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=AccessibilityObjectModel, >+ NoInterfaceObject, >+] interface AccessibilityRole { >+ [Reflect] attribute DOMString? role; >+}; >Index: Source/WebCore/accessibility/AriaAttributes.idl >=================================================================== >--- Source/WebCore/accessibility/AriaAttributes.idl (nonexistent) >+++ Source/WebCore/accessibility/AriaAttributes.idl (working copy) >@@ -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=AccessibilityObjectModel, >+ 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; >+}; >Index: Source/WebCore/dom/Element.idl >=================================================================== >--- Source/WebCore/dom/Element.idl (revision 234382) >+++ Source/WebCore/dom/Element.idl (working copy) >@@ -158,6 +158,8 @@ dictionary ShadowRootInit { > required ShadowRootMode mode; > }; > >+Element implements AccessibilityRole; >+Element implements AriaAttributes; > Element implements Animatable; > Element implements ChildNode; > Element implements DocumentAndElementEventHandlers; >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 234382) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,15 @@ >+2018-07-30 Nan Wang <n_wang@apple.com> >+ >+ AX: AOM: Add ARIA IDL Attribute Reflection >+ https://bugs.webkit.org/show_bug.cgi?id=184676 >+ <rdar://problem/39476882> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * accessibility/ARIA-reflection-expected.txt: Added. >+ * accessibility/ARIA-reflection.html: Added. >+ * js/dom/dom-static-property-for-in-iteration.html: >+ > 2018-07-30 Justin Fan <justin_fan@apple.com> > > [WebGL2] Support compilation of GLSL ES version 300 shaders >Index: LayoutTests/accessibility/ARIA-reflection-expected.txt >=================================================================== >--- LayoutTests/accessibility/ARIA-reflection-expected.txt (nonexistent) >+++ LayoutTests/accessibility/ARIA-reflection-expected.txt (working copy) >@@ -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 >+ >Index: LayoutTests/accessibility/ARIA-reflection.html >=================================================================== >--- LayoutTests/accessibility/ARIA-reflection.html (nonexistent) >+++ LayoutTests/accessibility/ARIA-reflection.html (working copy) >@@ -0,0 +1,72 @@ >+<!DOCTYPE html> >+<html> >+<body id="body"> >+<script src="../resources/js-test-pre.js"></script> >+<div id="content"> >+ >+<div id="test" data="some 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 = element.getAttribute("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="../resources/js-test-post.js"></script> >+</body> >+</html> >Index: LayoutTests/js/dom/dom-static-property-for-in-iteration.html >=================================================================== >--- LayoutTests/js/dom/dom-static-property-for-in-iteration.html (revision 234382) >+++ LayoutTests/js/dom/dom-static-property-for-in-iteration.html (working copy) >@@ -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); > } > } >Index: LayoutTests/platform/win/TestExpectations >=================================================================== >--- LayoutTests/platform/win/TestExpectations (revision 234382) >+++ LayoutTests/platform/win/TestExpectations (working copy) >@@ -1715,6 +1715,8 @@ webkit.org/b/138566 accessibility/aria-m > # 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 ########################### > ################################################################################
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 184676
:
346133
|
346139
|
346144
|
346283