| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012, Google Inc. All rights reserved. | 2 * Copyright (C) 2012, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 return ColorWellRole; | 238 return ColorWellRole; |
| 239 if (type == InputTypeNames::time) | 239 if (type == InputTypeNames::time) |
| 240 return TimeRole; | 240 return TimeRole; |
| 241 return TextFieldRole; | 241 return TextFieldRole; |
| 242 } | 242 } |
| 243 if (isHTMLSelectElement(*node())) { | 243 if (isHTMLSelectElement(*node())) { |
| 244 HTMLSelectElement& selectElement = toHTMLSelectElement(*node()); | 244 HTMLSelectElement& selectElement = toHTMLSelectElement(*node()); |
| 245 return selectElement.multiple() ? ListBoxRole : PopUpButtonRole; | 245 return selectElement.multiple() ? ListBoxRole : PopUpButtonRole; |
| 246 } | 246 } |
| 247 if (isHTMLTextAreaElement(*node())) | 247 if (isHTMLTextAreaElement(*node())) |
| 248 return TextFieldRole; | 248 return TextAreaRole; |
| 249 if (headingLevel()) | 249 if (headingLevel()) |
| 250 return HeadingRole; | 250 return HeadingRole; |
| 251 if (isHTMLDivElement(*node())) | 251 if (isHTMLDivElement(*node())) |
| 252 return DivRole; | 252 return DivRole; |
| 253 if (isHTMLMeterElement(*node())) | 253 if (isHTMLMeterElement(*node())) |
| 254 return MeterRole; | 254 return MeterRole; |
| 255 if (isHTMLOutputElement(*node())) | 255 if (isHTMLOutputElement(*node())) |
| 256 return StatusRole; | 256 return StatusRole; |
| 257 if (isHTMLParagraphElement(*node())) | 257 if (isHTMLParagraphElement(*node())) |
| 258 return ParagraphRole; | 258 return ParagraphRole; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 | 305 |
| 306 AccessibilityRole role = ariaRoleToWebCoreRole(ariaRole); | 306 AccessibilityRole role = ariaRoleToWebCoreRole(ariaRole); |
| 307 | 307 |
| 308 // ARIA states if an item can get focus, it should not be presentational. | 308 // ARIA states if an item can get focus, it should not be presentational. |
| 309 if ((role == NoneRole || role == PresentationalRole) && canSetFocusAttribute
()) | 309 if ((role == NoneRole || role == PresentationalRole) && canSetFocusAttribute
()) |
| 310 return UnknownRole; | 310 return UnknownRole; |
| 311 | 311 |
| 312 if (role == ButtonRole) | 312 if (role == ButtonRole) |
| 313 role = buttonRoleType(); | 313 role = buttonRoleType(); |
| 314 | 314 |
| 315 if (role == TextAreaRole && !ariaIsMultiline()) |
| 316 role = TextFieldRole; |
| 317 |
| 315 role = remapAriaRoleDueToParent(role); | 318 role = remapAriaRoleDueToParent(role); |
| 316 | 319 |
| 317 if (role) | 320 if (role) |
| 318 return role; | 321 return role; |
| 319 | 322 |
| 320 return UnknownRole; | 323 return UnknownRole; |
| 321 } | 324 } |
| 322 | 325 |
| 323 void AXNodeObject::elementsFromAttribute(WillBeHeapVector<RawPtrWillBeMember<Ele
ment>>& elements, const QualifiedName& attribute) const | 326 void AXNodeObject::elementsFromAttribute(WillBeHeapVector<RawPtrWillBeMember<Ele
ment>>& elements, const QualifiedName& attribute) const |
| 324 { | 327 { |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 return false; | 662 return false; |
| 660 } | 663 } |
| 661 | 664 |
| 662 bool AXNodeObject::isPasswordField() const | 665 bool AXNodeObject::isPasswordField() const |
| 663 { | 666 { |
| 664 Node* node = this->node(); | 667 Node* node = this->node(); |
| 665 if (!isHTMLInputElement(node)) | 668 if (!isHTMLInputElement(node)) |
| 666 return false; | 669 return false; |
| 667 | 670 |
| 668 AccessibilityRole ariaRole = ariaRoleAttribute(); | 671 AccessibilityRole ariaRole = ariaRoleAttribute(); |
| 669 if (ariaRole != TextFieldRole) | 672 if (ariaRole != TextFieldRole && ariaRole != TextAreaRole) |
| 670 return false; | 673 return false; |
| 671 | 674 |
| 672 return toHTMLInputElement(node)->type() == InputTypeNames::password; | 675 return toHTMLInputElement(node)->type() == InputTypeNames::password; |
| 673 } | 676 } |
| 674 | 677 |
| 675 bool AXNodeObject::isProgressIndicator() const | 678 bool AXNodeObject::isProgressIndicator() const |
| 676 { | 679 { |
| 677 return roleValue() == ProgressIndicatorRole; | 680 return roleValue() == ProgressIndicatorRole; |
| 678 } | 681 } |
| 679 | 682 |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 949 level++; | 952 level++; |
| 950 else if (parentRole == TreeRole) | 953 else if (parentRole == TreeRole) |
| 951 break; | 954 break; |
| 952 } | 955 } |
| 953 | 956 |
| 954 return level; | 957 return level; |
| 955 } | 958 } |
| 956 | 959 |
| 957 String AXNodeObject::ariaAutoComplete() const | 960 String AXNodeObject::ariaAutoComplete() const |
| 958 { | 961 { |
| 959 if (roleValue() != ComboBoxRole) | 962 if (roleValue() != ComboBoxRole && roleValue() != TextAreaRole) |
| 960 return String(); | 963 return String(); |
| 961 | 964 |
| 962 const AtomicString& ariaAutoComplete = getAttribute(aria_autocompleteAttr).l
ower(); | 965 const AtomicString& ariaAutoComplete = getAttribute(aria_autocompleteAttr).l
ower(); |
| 963 | 966 |
| 964 if (ariaAutoComplete == "inline" || ariaAutoComplete == "list" | 967 if (ariaAutoComplete == "inline" || ariaAutoComplete == "list" |
| 965 || ariaAutoComplete == "both") | 968 || ariaAutoComplete == "both") |
| 966 return ariaAutoComplete; | 969 return ariaAutoComplete; |
| 967 | 970 |
| 968 return String(); | 971 return String(); |
| 969 } | 972 } |
| (...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1994 float range = maxValueForRange() - minValueForRange(); | 1997 float range = maxValueForRange() - minValueForRange(); |
| 1995 float value = valueForRange(); | 1998 float value = valueForRange(); |
| 1996 | 1999 |
| 1997 value += range * (percentChange / 100); | 2000 value += range * (percentChange / 100); |
| 1998 setValue(String::number(value)); | 2001 setValue(String::number(value)); |
| 1999 | 2002 |
| 2000 axObjectCache()->postNotification(node(), AXObjectCacheImpl::AXValueChanged)
; | 2003 axObjectCache()->postNotification(node(), AXObjectCacheImpl::AXValueChanged)
; |
| 2001 } | 2004 } |
| 2002 | 2005 |
| 2003 } // namespace blink | 2006 } // namespace blink |
| OLD | NEW |