[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-142-g786665c
cfleizach at apple.com
cfleizach at apple.com
Mon Dec 27 16:30:42 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 10cd878653a54ce625323546eedd7dcbfb4b73a2
Author: cfleizach at apple.com <cfleizach at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Dec 22 19:51:19 2010 +0000
AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
https://bugs.webkit.org/show_bug.cgi?id=51481
WebCore:
Reviewed by Sam Weinig.
Support aria-multiline and use it to change the role of an ARIA "textbox"
from AXTextArea to AXTextField.
Test: platform/mac/accessibility/aria-multiline.html
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaIsMultiline):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isPasswordField):
(WebCore::AccessibilityObject::isTextControl):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
* accessibility/AccessibilityRenderObject.h:
* html/HTMLAttributeNames.in:
LayoutTests:
Reviewed by Sam Weining.
* platform/mac/accessibility/aria-multiline-expected.txt: Added.
* platform/mac/accessibility/aria-multiline.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74492 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 3748a92..26f8c6a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-12-22 Chris Fleizach <cfleizach at apple.com>
+
+ Reviewed by Sam Weining.
+
+ AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
+ https://bugs.webkit.org/show_bug.cgi?id=51481
+
+ * platform/mac/accessibility/aria-multiline-expected.txt: Added.
+ * platform/mac/accessibility/aria-multiline.html: Added.
+
2010-12-22 Simon Fraser <simon.fraser at apple.com>
Reviewed by Dan Bernstein.
diff --git a/LayoutTests/platform/mac/accessibility/aria-multiline-expected.txt b/LayoutTests/platform/mac/accessibility/aria-multiline-expected.txt
new file mode 100644
index 0000000..b22bfc6
--- /dev/null
+++ b/LayoutTests/platform/mac/accessibility/aria-multiline-expected.txt
@@ -0,0 +1,13 @@
+a
+b
+This tests that aria-multiline will change the role of a text control from a text field to a text area.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS accessibilityController.focusedElement.role is 'AXRole: AXTextField'
+PASS accessibilityController.focusedElement.role is 'AXRole: AXTextArea'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/mac/accessibility/aria-multiline.html b/LayoutTests/platform/mac/accessibility/aria-multiline.html
new file mode 100644
index 0000000..26cb0da
--- /dev/null
+++ b/LayoutTests/platform/mac/accessibility/aria-multiline.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../../fast/js/resources/js-test-style.css">
+<script>
+var successfullyParsed = false;
+</script>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div tabindex="0" id="textfield" role="textbox" aria-multiline="true">a</div>
+<div tabindex="0" id="textarea" role="textbox" aria-multiline="false">b</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that aria-multiline will change the role of a text control from a text field to a text area.");
+
+ if (window.accessibilityController) {
+
+ document.getElementById("textfield").focus();
+ shouldBe("accessibilityController.focusedElement.role", "'AXRole: AXTextField'");
+
+ document.getElementById("textarea").focus();
+ shouldBe("accessibilityController.focusedElement.role", "'AXRole: AXTextArea'");
+ }
+
+ successfullyParsed = true;
+</script>
+
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 832db55..99c169d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2010-12-22 Chris Fleizach <cfleizach at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
+ https://bugs.webkit.org/show_bug.cgi?id=51481
+
+ Support aria-multiline and use it to change the role of an ARIA "textbox"
+ from AXTextArea to AXTextField.
+
+ Test: platform/mac/accessibility/aria-multiline.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::ariaIsMultiline):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isPasswordField):
+ (WebCore::AccessibilityObject::isTextControl):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
+ * accessibility/AccessibilityRenderObject.h:
+ * html/HTMLAttributeNames.in:
+
2010-12-22 Simon Fraser <simon.fraser at apple.com>
Reviewed by Dan Bernstein.
diff --git a/WebCore/accessibility/AccessibilityObject.cpp b/WebCore/accessibility/AccessibilityObject.cpp
index cfe8a22..85ccb61 100644
--- a/WebCore/accessibility/AccessibilityObject.cpp
+++ b/WebCore/accessibility/AccessibilityObject.cpp
@@ -837,6 +837,11 @@ const String& AccessibilityObject::actionVerb() const
}
}
+bool AccessibilityObject::ariaIsMultiline() const
+{
+ return equalIgnoringCase(getAttribute(aria_multilineAttr), "true");
+}
+
const AtomicString& AccessibilityObject::invalidStatus() const
{
DEFINE_STATIC_LOCAL(const AtomicString, invalidStatusFalse, ("false"));
diff --git a/WebCore/accessibility/AccessibilityObject.h b/WebCore/accessibility/AccessibilityObject.h
index ad9b723..5fd41af 100644
--- a/WebCore/accessibility/AccessibilityObject.h
+++ b/WebCore/accessibility/AccessibilityObject.h
@@ -268,7 +268,6 @@ public:
virtual bool isNativeImage() const { return false; }
virtual bool isImageButton() const { return false; }
virtual bool isPasswordField() const { return false; }
- virtual bool isTextControl() const { return false; }
virtual bool isNativeTextControl() const { return false; }
virtual bool isWebArea() const { return false; }
virtual bool isCheckbox() const { return roleValue() == CheckBoxRole; }
@@ -299,6 +298,7 @@ public:
virtual bool isMenuList() const { return false; }
virtual bool isMenuListPopup() const { return false; }
virtual bool isMenuListOption() const { return false; }
+ bool isTextControl() const { return roleValue() == TextAreaRole || roleValue() == TextFieldRole; }
bool isTabList() const { return roleValue() == TabListRole; }
bool isTabItem() const { return roleValue() == TabRole; }
bool isRadioGroup() const { return roleValue() == RadioGroupRole; }
@@ -360,6 +360,7 @@ public:
virtual bool supportsARIAFlowTo() const { return false; }
virtual void ariaFlowToElements(AccessibilityChildrenVector&) const { }
virtual bool ariaHasPopup() const { return false; }
+ bool ariaIsMultiline() const;
virtual const AtomicString& invalidStatus() const;
// ARIA drag and drop
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index 9206094..3e7dc44 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -457,12 +457,6 @@ bool AccessibilityRenderObject::isNativeTextControl() const
return m_renderer->isTextControl();
}
-bool AccessibilityRenderObject::isTextControl() const
-{
- AccessibilityRole role = roleValue();
- return role == TextAreaRole || role == TextFieldRole;
-}
-
bool AccessibilityRenderObject::isNativeImage() const
{
return m_renderer->isBoxModelObject() && toRenderBoxModelObject(m_renderer)->isImage();
@@ -2953,6 +2947,9 @@ AccessibilityRole AccessibilityRenderObject::determineAriaRoleAttribute() const
if (role == ButtonRole && ariaHasPopup())
role = PopUpButtonRole;
+
+ if (role == TextAreaRole && ariaIsMultiline())
+ role = TextFieldRole;
if (role)
return role;
diff --git a/WebCore/accessibility/AccessibilityRenderObject.h b/WebCore/accessibility/AccessibilityRenderObject.h
index 9660d5f..a83ac35 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/WebCore/accessibility/AccessibilityRenderObject.h
@@ -72,7 +72,6 @@ public:
virtual bool isImage() const;
virtual bool isNativeImage() const;
virtual bool isPasswordField() const;
- virtual bool isTextControl() const;
virtual bool isNativeTextControl() const;
virtual bool isWebArea() const;
virtual bool isFileUploadButton() const;
diff --git a/WebCore/html/HTMLAttributeNames.in b/WebCore/html/HTMLAttributeNames.in
index 089b280..513e44f 100644
--- a/WebCore/html/HTMLAttributeNames.in
+++ b/WebCore/html/HTMLAttributeNames.in
@@ -32,6 +32,7 @@ aria-labeledby
aria-labelledby
aria-level
aria-live
+aria-multiline
aria-multiselectable
aria-orientation
aria-owns
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list