[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