Title: [160762] trunk
- Revision
- 160762
- Author
- [email protected]
- Date
- 2013-12-18 06:18:41 -0800 (Wed, 18 Dec 2013)
Log Message
AX: HTML spec change indicates @aria-required should trump @required on any element
https://bugs.webkit.org/show_bug.cgi?id=122145
Reviewed by Mario Sanchez Prada.
Source/WebCore:
aria-required should win over the native "required" attribute.
Updated tests: accessibility/aria-required.html
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isRequired):
LayoutTests:
* accessibility/aria-required-expected.txt:
* accessibility/aria-required.html:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (160761 => 160762)
--- trunk/LayoutTests/ChangeLog 2013-12-18 13:56:35 UTC (rev 160761)
+++ trunk/LayoutTests/ChangeLog 2013-12-18 14:18:41 UTC (rev 160762)
@@ -1,3 +1,13 @@
+2013-12-18 Chris Fleizach <[email protected]>
+
+ AX: HTML spec change indicates @aria-required should trump @required on any element
+ https://bugs.webkit.org/show_bug.cgi?id=122145
+
+ Reviewed by Mario Sanchez Prada.
+
+ * accessibility/aria-required-expected.txt:
+ * accessibility/aria-required.html:
+
2013-12-18 Michał Pakuła vel Rutka <[email protected]>
Unreviewed EFL gardening
Modified: trunk/LayoutTests/accessibility/aria-required-expected.txt (160761 => 160762)
--- trunk/LayoutTests/accessibility/aria-required-expected.txt 2013-12-18 13:56:35 UTC (rev 160761)
+++ trunk/LayoutTests/accessibility/aria-required-expected.txt 2013-12-18 14:18:41 UTC (rev 160762)
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Elements to test: 32
+Elements to test: 35
PASS textfield isRequired is false
PASS textfield_required isRequired is true
@@ -14,17 +14,20 @@
PASS checkbox_required isRequired is true
PASS checkbox_required_ariarequired isRequired is true
PASS checkbox_ariarequiredfalse isRequired is false
-PASS checkbox_required_ariarequiredfalse isRequired is true
+PASS checkbox_required_ariarequiredfalse isRequired is false
+PASS checkbox_requiredfalse_ariarequiredtrue isRequired is true
PASS select isRequired is false
PASS select_required isRequired is true
PASS select_required_ariarequired isRequired is true
PASS select_ariarequiredfalse isRequired is false
-PASS select_required_ariarequiredfalse isRequired is true
+PASS select_required_ariarequiredfalse isRequired is false
+PASS select_requiredfalse_ariarequiredtrue isRequired is true
PASS textarea isRequired is false
PASS textarea_required isRequired is true
PASS textarea_required_ariarequired isRequired is true
PASS textarea_ariarequiredfalse isRequired is false
-PASS textarea_required_ariarequiredfalse isRequired is true
+PASS textarea_required_ariarequiredfalse isRequired is false
+PASS textarea_requiredfalse_ariarequiredtrue isRequired is true
PASS listbox_ariarequiredtrue isRequired is true
PASS listbox_ariarequiredfalse isRequired is false
PASS listbox isRequired is false
Modified: trunk/LayoutTests/accessibility/aria-required.html (160761 => 160762)
--- trunk/LayoutTests/accessibility/aria-required.html 2013-12-18 13:56:35 UTC (rev 160761)
+++ trunk/LayoutTests/accessibility/aria-required.html 2013-12-18 14:18:41 UTC (rev 160762)
@@ -25,11 +25,9 @@
<input type="checkbox" id="checkbox_required" required data-expectedrequired="true">
<input type="checkbox" required aria-required="true" id="checkbox_required_ariarequired" data-expectedrequired="true">
<input type="checkbox" aria-required="false" id="checkbox_ariarequiredfalse" data-expectedrequired="false">
- <!-- these last ones conflict with implicit value of @required, so host language attr should win -->
- <input type="checkbox" aria-required="false" required id="checkbox_required_ariarequiredfalse" data-expectedrequired="true">
- <!-- BLOCKED by http://webkit.org/b/119988
- <input type="checkbox" aria-required="true" id="checkbox_requiredfalse_ariarequiredtrue" data-expectedrequired="false">
- -->
+ <!-- these last ones conflict with implicit value of @required, so ARIA should win -->
+ <input type="checkbox" aria-required="false" required id="checkbox_required_ariarequiredfalse" data-expectedrequired="false">
+ <input type="checkbox" aria-required="true" id="checkbox_requiredfalse_ariarequiredtrue" data-expectedrequired="true">
<!-- select -->
@@ -37,11 +35,9 @@
<select id="select_required" required data-expectedrequired="true"><option>test</option></select>
<select required aria-required="true" id="select_required_ariarequired" data-expectedrequired="true"><option>test</option></select>
<select aria-required="false" id="select_ariarequiredfalse" data-expectedrequired="false"><option>test</option></select>
- <!-- these last ones conflict with implicit value of @required, so host language attr should win -->
- <select aria-required="false" required id="select_required_ariarequiredfalse" data-expectedrequired="true"><option>test</option></select>
- <!-- BLOCKED by http://webkit.org/b/119988
- <select aria-required="true" id="select_requiredfalse_ariarequiredtrue" data-expectedrequired="false"><option>test</option></select>
- -->
+ <!-- these last ones conflict with implicit value of @required, so ARIA should win -->
+ <select aria-required="false" required id="select_required_ariarequiredfalse" data-expectedrequired="false"><option>test</option></select>
+ <select aria-required="true" id="select_requiredfalse_ariarequiredtrue" data-expectedrequired="true"><option>test</option></select>
<!-- textarea -->
@@ -49,11 +45,9 @@
<textarea id="textarea_required" required data-expectedrequired="true"></textarea>
<textarea required aria-required="true" id="textarea_required_ariarequired" data-expectedrequired="true"></textarea>
<textarea aria-required="false" id="textarea_ariarequiredfalse" data-expectedrequired="false"></textarea>
- <!-- these last ones conflict with implicit value of @required, so host language attr should win -->
- <textarea aria-required="false" required id="textarea_required_ariarequiredfalse" data-expectedrequired="true"></textarea>
- <!-- BLOCKED by http://webkit.org/b/119988
- <textarea aria-required="true" id="textarea_requiredfalse_ariarequiredtrue" data-expectedrequired="false"></textarea>
- -->
+ <!-- these last ones conflict with implicit value of @required, so ARIA should win -->
+ <textarea aria-required="false" required id="textarea_required_ariarequiredfalse" data-expectedrequired="false"></textarea>
+ <textarea aria-required="true" id="textarea_requiredfalse_ariarequiredtrue" data-expectedrequired="true"></textarea>
<!-- Custom ARIA controls (@required is not allowed on these elements, so no conflict resolution needed.) -->
Modified: trunk/Source/WebCore/ChangeLog (160761 => 160762)
--- trunk/Source/WebCore/ChangeLog 2013-12-18 13:56:35 UTC (rev 160761)
+++ trunk/Source/WebCore/ChangeLog 2013-12-18 14:18:41 UTC (rev 160762)
@@ -1,3 +1,17 @@
+2013-12-18 Chris Fleizach <[email protected]>
+
+ AX: HTML spec change indicates @aria-required should trump @required on any element
+ https://bugs.webkit.org/show_bug.cgi?id=122145
+
+ Reviewed by Mario Sanchez Prada.
+
+ aria-required should win over the native "required" attribute.
+
+ Updated tests: accessibility/aria-required.html
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::isRequired):
+
2013-12-18 Carlos Garcia Campos <[email protected]>
Unreviewed. Fix make distcheck.
Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (160761 => 160762)
--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp 2013-12-18 13:56:35 UTC (rev 160761)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp 2013-12-18 14:18:41 UTC (rev 160762)
@@ -730,8 +730,12 @@
bool AccessibilityNodeObject::isRequired() const
{
- if (equalIgnoringCase(getAttribute(aria_requiredAttr), "true"))
+ // Explicit aria-required values should trump native required attributes.
+ const AtomicString& requiredValue = getAttribute(aria_requiredAttr);
+ if (equalIgnoringCase(requiredValue, "true"))
return true;
+ if (equalIgnoringCase(requiredValue, "false"))
+ return false;
Node* n = this->node();
if (n && (n->isElementNode() && toElement(n)->isFormControlElement()))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes