summaryrefslogtreecommitdiffstats
path: root/WebCore/accessibility/AccessibilityRenderObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/accessibility/AccessibilityRenderObject.cpp')
-rw-r--r--WebCore/accessibility/AccessibilityRenderObject.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index 141d725..3c6079b 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -1325,17 +1325,30 @@ String AccessibilityRenderObject::ariaDescribedByAttribute() const
return accessibilityDescriptionForElements(elements);
}
+
+String AccessibilityRenderObject::ariaAccessibilityDescription() const
+{
+ const AtomicString& ariaLabel = getAttribute(aria_labelAttr);
+ if (!ariaLabel.isEmpty())
+ return ariaLabel;
+
+ String ariaDescription = ariaDescribedByAttribute();
+ if (!ariaDescription.isEmpty())
+ return ariaDescription;
+
+ return String();
+}
String AccessibilityRenderObject::accessibilityDescription() const
{
if (!m_renderer)
return String();
- const AtomicString& ariaLabel = getAttribute(aria_labelAttr);
- if (!ariaLabel.isEmpty())
- return ariaLabel;
+ // Static text should not have a description, it should only have a stringValue.
+ if (roleValue() == StaticTextRole)
+ return String();
- String ariaDescription = ariaDescribedByAttribute();
+ String ariaDescription = ariaAccessibilityDescription();
if (!ariaDescription.isEmpty())
return ariaDescription;
@@ -1895,7 +1908,7 @@ String AccessibilityRenderObject::text() const
{
// If this is a user defined static text, use the accessible name computation.
if (ariaRoleAttribute() == StaticTextRole)
- return accessibilityDescription();
+ return ariaAccessibilityDescription();
if (!isTextControl() || isPasswordField())
return String();