Diff
Modified: trunk/LayoutTests/ChangeLog (151830 => 151831)
--- trunk/LayoutTests/ChangeLog 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/LayoutTests/ChangeLog 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,3 +1,17 @@
+2013-06-21 Krzysztof Czech <[email protected]>
+
+ [ATK] Added support for aria-required attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=117730
+
+ Reviewed by Chris Fleizach.
+
+ Moving specific platform accessibility tests.
+
+ * accessibility/aria-required-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-required-expected.txt.
+ * accessibility/aria-required.html: Renamed from LayoutTests/platform/mac/accessibility/aria-required.html.
+ * accessibility/html5-required-attribute-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/html5-required-attribute-expected.txt.
+ * accessibility/html5-required-attribute.html: Renamed from LayoutTests/platform/mac/accessibility/html5-required-attribute.html.
+
2013-06-21 Chris Fleizach <[email protected]>
IndieUI: Add basic IndieUI infrastructure
Copied: trunk/LayoutTests/accessibility/aria-required-expected.txt (from rev 151830, trunk/LayoutTests/platform/mac/accessibility/aria-required-expected.txt) (0 => 151831)
--- trunk/LayoutTests/accessibility/aria-required-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/aria-required-expected.txt 2013-06-21 10:33:34 UTC (rev 151831)
@@ -0,0 +1,25 @@
+
+This tests that aria-required is a usable attribute.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS succeeded is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Copied: trunk/LayoutTests/accessibility/aria-required.html (from rev 151830, trunk/LayoutTests/platform/mac/accessibility/aria-required.html) (0 => 151831)
--- trunk/LayoutTests/accessibility/aria-required.html (rev 0)
+++ trunk/LayoutTests/accessibility/aria-required.html 2013-06-21 10:33:34 UTC (rev 151831)
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<input type="text" aria-required="true" id="textfield1">
+<input type="text" aria-required="false" id="textfield2">
+<input type="text" id="textfield3">
+
+<div id="toBeHidden">
+
+ <div tabindex="0" aria-required="true" role="listbox" id="lb1">text</div>
+ <div tabindex="0" aria-required="false" role="listbox" id="lb2">text</div>
+ <div tabindex="0" role="listbox" id="lb3">text</div>
+
+ <div tabindex="0" aria-required="true" role="radiogroup" id="rg1">text</div>
+ <div tabindex="0" aria-required="false" role="radiogroup" id="rg2">text</div>
+ <div tabindex="0" role="radiogroup" id="rg3">text</div>
+
+ <div tabindex="0" aria-required="true" role="spinbutton" id="sb1">text</div>
+ <div tabindex="0" aria-required="false" role="spinbutton" id="sb2">text</div>
+ <div tabindex="0" role="spinbutton" id="sb3">text</div>
+
+ <div tabindex="0" aria-required="true" role="tree" id="t1">text</div>
+ <div tabindex="0" aria-required="false" role="tree" id="t2">text</div>
+ <div tabindex="0" role="tree" id="t3">text</div>
+
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that aria-required is a usable attribute.");
+
+ function $(id){
+ return document.getElementById(id);
+ }
+
+ if (window.accessibilityController) {
+
+ var succeeded = false;
+
+ // textfield 1 is required
+ $("textfield1").focus();
+ succeeded = accessibilityController.focusedElement.isRequired;
+ shouldBe("succeeded", "true");
+ // textfield 2 and 3 are not required
+ $("textfield2").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+ $("textfield3").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+
+ // listbox 1 is required
+ $("lb1").focus();
+ succeeded = accessibilityController.focusedElement.isRequired;
+ shouldBe("succeeded", "true");
+ // listbox 2 and 3 are not required
+ $("lb2").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+ $("lb3").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+
+ // radiogroup 1 is required
+ $("rg1").focus();
+ succeeded = accessibilityController.focusedElement.isRequired;
+ shouldBe("succeeded", "true");
+ // radiogroup 2 and 3 are not required
+ $("rg2").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+ $("rg3").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+
+ // spinbutton 1 is required
+ $("sb1").focus();
+ succeeded = accessibilityController.focusedElement.isRequired;
+ shouldBe("succeeded", "true");
+ // spinbutton 2 and 3 are not required
+ $("sb2").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+ $("sb3").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+
+ // tree 1 is required
+ $("t1").focus();
+ succeeded = accessibilityController.focusedElement.isRequired;
+ shouldBe("succeeded", "true");
+ // tree 2 and 3 are not required
+ $("t2").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+ $("t3").focus();
+ succeeded = !(accessibilityController.focusedElement.isRequired);
+ shouldBe("succeeded", "true");
+
+ }
+
+ $('toBeHidden').hidden = true; // hide this to avoid text diffs when adding more elements to the test
+
+</script>
+
+<script src=""
+</body>
+</html>
Copied: trunk/LayoutTests/accessibility/html5-required-attribute-expected.txt (from rev 151830, trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute-expected.txt) (0 => 151831)
--- trunk/LayoutTests/accessibility/html5-required-attribute-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/html5-required-attribute-expected.txt 2013-06-21 10:33:34 UTC (rev 151831)
@@ -0,0 +1,12 @@
+
+This tests that the required attribute is returned correctly through accessibility.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS accessibilityController.focusedElement.isRequired is true
+PASS accessibilityController.focusedElement.isRequired is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Copied: trunk/LayoutTests/accessibility/html5-required-attribute.html (from rev 151830, trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute.html) (0 => 151831)
--- trunk/LayoutTests/accessibility/html5-required-attribute.html (rev 0)
+++ trunk/LayoutTests/accessibility/html5-required-attribute.html 2013-06-21 10:33:34 UTC (rev 151831)
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+
+<input type="text" id="text1" required>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that the required attribute is returned correctly through accessibility.");
+
+ if (window.accessibilityController) {
+
+ document.getElementById("text1").focus();
+ shouldBeTrue("accessibilityController.focusedElement.isRequired");
+
+ document.getElementById("text1").removeAttribute("required");
+ shouldBeFalse("accessibilityController.focusedElement.isRequired");
+
+ }
+
+</script>
+
+<script src=""
+</body>
+</html>
Deleted: trunk/LayoutTests/platform/mac/accessibility/aria-required-expected.txt (151830 => 151831)
--- trunk/LayoutTests/platform/mac/accessibility/aria-required-expected.txt 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-required-expected.txt 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,25 +0,0 @@
-
-This tests that aria-required is a usable attribute.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS succeeded is true
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
Deleted: trunk/LayoutTests/platform/mac/accessibility/aria-required.html (151830 => 151831)
--- trunk/LayoutTests/platform/mac/accessibility/aria-required.html 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-required.html 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src=""
-</head>
-<body id="body">
-
-<input type="text" aria-required="true" id="textfield1">
-<input type="text" aria-required="false" id="textfield2">
-<input type="text" id="textfield3">
-
-<div id="toBeHidden">
-
- <div tabindex="0" aria-required="true" role="listbox" id="lb1">text</div>
- <div tabindex="0" aria-required="false" role="listbox" id="lb2">text</div>
- <div tabindex="0" role="listbox" id="lb3">text</div>
-
- <div tabindex="0" aria-required="true" role="radiogroup" id="rg1">text</div>
- <div tabindex="0" aria-required="false" role="radiogroup" id="rg2">text</div>
- <div tabindex="0" role="radiogroup" id="rg3">text</div>
-
- <div tabindex="0" aria-required="true" role="spinbutton" id="sb1">text</div>
- <div tabindex="0" aria-required="false" role="spinbutton" id="sb2">text</div>
- <div tabindex="0" role="spinbutton" id="sb3">text</div>
-
- <div tabindex="0" aria-required="true" role="tree" id="t1">text</div>
- <div tabindex="0" aria-required="false" role="tree" id="t2">text</div>
- <div tabindex="0" role="tree" id="t3">text</div>
-
-</div>
-
-<p id="description"></p>
-<div id="console"></div>
-
-<script>
-
- description("This tests that aria-required is a usable attribute.");
-
- function $(id){
- return document.getElementById(id);
- }
-
- if (window.accessibilityController) {
-
- var succeeded = false;
-
- // textfield 1 is required
- $("textfield1").focus();
- succeeded = accessibilityController.focusedElement.isRequired;
- shouldBe("succeeded", "true");
- // textfield 2 and 3 are not required
- $("textfield2").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
- $("textfield3").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
-
- // listbox 1 is required
- $("lb1").focus();
- succeeded = accessibilityController.focusedElement.isRequired;
- shouldBe("succeeded", "true");
- // listbox 2 and 3 are not required
- $("lb2").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
- $("lb3").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
-
- // radiogroup 1 is required
- $("rg1").focus();
- succeeded = accessibilityController.focusedElement.isRequired;
- shouldBe("succeeded", "true");
- // radiogroup 2 and 3 are not required
- $("rg2").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
- $("rg3").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
-
- // spinbutton 1 is required
- $("sb1").focus();
- succeeded = accessibilityController.focusedElement.isRequired;
- shouldBe("succeeded", "true");
- // spinbutton 2 and 3 are not required
- $("sb2").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
- $("sb3").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
-
- // tree 1 is required
- $("t1").focus();
- succeeded = accessibilityController.focusedElement.isRequired;
- shouldBe("succeeded", "true");
- // tree 2 and 3 are not required
- $("t2").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
- $("t3").focus();
- succeeded = !(accessibilityController.focusedElement.isRequired);
- shouldBe("succeeded", "true");
-
- }
-
- $('toBeHidden').hidden = true; // hide this to avoid text diffs when adding more elements to the test
-
-</script>
-
-<script src=""
-</body>
-</html>
Deleted: trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute-expected.txt (151830 => 151831)
--- trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute-expected.txt 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute-expected.txt 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,12 +0,0 @@
-
-This tests that the required attribute is returned correctly through accessibility.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS accessibilityController.focusedElement.isRequired is true
-PASS accessibilityController.focusedElement.isRequired is false
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
Deleted: trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute.html (151830 => 151831)
--- trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute.html 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/LayoutTests/platform/mac/accessibility/html5-required-attribute.html 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src=""
-</head>
-<body id="body">
-
-
-<input type="text" id="text1" required>
-
-<p id="description"></p>
-<div id="console"></div>
-
-<script>
-
- description("This tests that the required attribute is returned correctly through accessibility.");
-
- if (window.accessibilityController) {
-
- document.getElementById("text1").focus();
- shouldBeTrue("accessibilityController.focusedElement.isRequired");
-
- document.getElementById("text1").removeAttribute("required");
- shouldBeFalse("accessibilityController.focusedElement.isRequired");
-
- }
-
-</script>
-
-<script src=""
-</body>
-</html>
Modified: trunk/Source/WebCore/ChangeLog (151830 => 151831)
--- trunk/Source/WebCore/ChangeLog 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/Source/WebCore/ChangeLog 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,3 +1,19 @@
+2013-06-21 Krzysztof Czech <[email protected]>
+
+ [ATK] Added support for aria-required attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=117730
+
+ Reviewed by Chris Fleizach.
+
+ Tests: accessibility/aria-required.html
+ accessibility/html5-required-attribute.html
+
+ The aria-required attribute is used to indicate that user input is required on an
+ element before a form can be submitted.
+
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+ (setAtkStateSetFromCoreObject):
+
2013-06-21 Chris Fleizach <[email protected]>
IndieUI: Add basic IndieUI infrastructure
Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp (151830 => 151831)
--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp 2013-06-21 10:33:34 UTC (rev 151831)
@@ -712,6 +712,9 @@
if (coreObject->isPressed())
atk_state_set_add_state(stateSet, ATK_STATE_PRESSED);
+ if (coreObject->isRequired())
+ atk_state_set_add_state(stateSet, ATK_STATE_REQUIRED);
+
// TODO: ATK_STATE_SELECTABLE_TEXT
if (coreObject->canSetSelectedAttribute()) {
Modified: trunk/Tools/ChangeLog (151830 => 151831)
--- trunk/Tools/ChangeLog 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/Tools/ChangeLog 2013-06-21 10:33:34 UTC (rev 151831)
@@ -1,3 +1,17 @@
+2013-06-21 Krzysztof Czech <[email protected]>
+
+ [ATK] Added support for aria-required attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=117730
+
+ Reviewed by Chris Fleizach.
+
+ Added support for testing aria-required attribute.
+
+ * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
+ (AccessibilityUIElement::isRequired):
+ * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
+ (WTR::AccessibilityUIElement::isRequired):
+
2013-06-20 Ryuan Choi <[email protected]>
[CMAKE][EFL] Enable DOM4 Events Constructor
Modified: trunk/Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp (151830 => 151831)
--- trunk/Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp 2013-06-21 10:33:34 UTC (rev 151831)
@@ -581,8 +581,7 @@
bool AccessibilityUIElement::isRequired() const
{
- // FIXME: implement
- return false;
+ return checkElementState(m_element, ATK_STATE_REQUIRED);
}
bool AccessibilityUIElement::isFocused() const
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp (151830 => 151831)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp 2013-06-21 09:36:05 UTC (rev 151830)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp 2013-06-21 10:33:34 UTC (rev 151831)
@@ -761,8 +761,7 @@
bool AccessibilityUIElement::isRequired() const
{
- // FIXME: implement
- return false;
+ return checkElementState(m_element.get(), ATK_STATE_REQUIRED);
}
bool AccessibilityUIElement::isFocused() const