Chromium Code Reviews| Index: third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
| diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
| index dd0379c699b7fa0d0f907428142393eb2f3bd4ce..3550d932eade000c414a0c7d49ec9472d23174cf 100644 |
| --- a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
| +++ b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
| @@ -36,6 +36,7 @@ |
| #include "core/frame/Settings.h" |
| #include "core/html/HTMLDialogElement.h" |
| #include "core/html/HTMLFrameOwnerElement.h" |
| +#include "core/html/parser/HTMLParserIdioms.h" |
|
aboxhall
2015/11/05 17:49:21
Unused?
dmazzoni
2015/11/06 00:21:17
It's where we get isHTMLSpace
|
| #include "core/layout/LayoutListItem.h" |
| #include "core/layout/LayoutTheme.h" |
| #include "core/layout/LayoutView.h" |
| @@ -679,6 +680,10 @@ String AXObject::name(AXNameFrom& nameFrom, AXObject::AXObjectVector* nameObject |
| HeapHashSet<Member<const AXObject>> visited; |
| AXRelatedObjectVector relatedObjects; |
| String text = textAlternative(false, false, visited, nameFrom, &relatedObjects, nullptr); |
| + |
| + if (!node() || !isHTMLBRElement(node())) |
| + text = text.simplifyWhiteSpace(isHTMLSpace<UChar>); |
| + |
| if (nameObjects) { |
| nameObjects->clear(); |
| for (size_t i = 0; i < relatedObjects.size(); i++) |
| @@ -692,7 +697,9 @@ String AXObject::name(NameSources* nameSources) const |
| AXObjectSet visited; |
| AXNameFrom tmpNameFrom; |
| AXRelatedObjectVector tmpRelatedObjects; |
| - return textAlternative(false, false, visited, tmpNameFrom, &tmpRelatedObjects, nameSources); |
| + String text = textAlternative(false, false, visited, tmpNameFrom, &tmpRelatedObjects, nameSources); |
| + text = text.simplifyWhiteSpace(isHTMLSpace<UChar>); |
| + return text; |
| } |
| String AXObject::recursiveTextAlternative(const AXObject& axObj, bool inAriaLabelledByTraversal, AXObjectSet& visited) |
| @@ -1460,21 +1467,23 @@ bool AXObject::nameFromContents() const |
| switch (roleValue()) { |
| case ButtonRole: |
| case CheckBoxRole: |
| - case CellRole: |
| - case ColumnHeaderRole: |
| case DirectoryRole: |
| case DisclosureTriangleRole: |
| + case HeadingRole: |
| + case LineBreakRole: |
| case LinkRole: |
| + case ListBoxOptionRole: |
| case ListItemRole: |
| case MenuItemRole: |
| case MenuItemCheckBoxRole: |
| case MenuItemRadioRole: |
| case MenuListOptionRole: |
| case RadioButtonRole: |
| - case RowHeaderRole: |
| case StaticTextRole: |
| case StatusRole: |
| case SwitchRole: |
| + case TabRole: |
| + case ToggleButtonRole: |
| case TreeItemRole: |
| return true; |
| default: |