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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 return ColorWellRole; | 326 return ColorWellRole; |
327 if (type == InputTypeNames::time) | 327 if (type == InputTypeNames::time) |
328 return TimeRole; | 328 return TimeRole; |
329 return TextFieldRole; | 329 return TextFieldRole; |
330 } | 330 } |
331 if (isHTMLSelectElement(*node())) { | 331 if (isHTMLSelectElement(*node())) { |
332 HTMLSelectElement& selectElement = toHTMLSelectElement(*node()); | 332 HTMLSelectElement& selectElement = toHTMLSelectElement(*node()); |
333 return selectElement.multiple() ? ListBoxRole : PopUpButtonRole; | 333 return selectElement.multiple() ? ListBoxRole : PopUpButtonRole; |
334 } | 334 } |
335 if (isHTMLTextAreaElement(*node())) | 335 if (isHTMLTextAreaElement(*node())) |
336 return TextAreaRole; | 336 return TextFieldRole; |
337 if (headingLevel()) | 337 if (headingLevel()) |
338 return HeadingRole; | 338 return HeadingRole; |
339 if (isHTMLDivElement(*node())) | 339 if (isHTMLDivElement(*node())) |
340 return DivRole; | 340 return DivRole; |
341 if (isHTMLMeterElement(*node())) | 341 if (isHTMLMeterElement(*node())) |
342 return MeterRole; | 342 return MeterRole; |
343 if (isHTMLOutputElement(*node())) | 343 if (isHTMLOutputElement(*node())) |
344 return StatusRole; | 344 return StatusRole; |
345 if (isHTMLParagraphElement(*node())) | 345 if (isHTMLParagraphElement(*node())) |
346 return ParagraphRole; | 346 return ParagraphRole; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 | 393 |
394 AccessibilityRole role = ariaRoleToWebCoreRole(ariaRole); | 394 AccessibilityRole role = ariaRoleToWebCoreRole(ariaRole); |
395 | 395 |
396 // ARIA states if an item can get focus, it should not be presentational. | 396 // ARIA states if an item can get focus, it should not be presentational. |
397 if ((role == NoneRole || role == PresentationalRole) && canSetFocusAttribute
()) | 397 if ((role == NoneRole || role == PresentationalRole) && canSetFocusAttribute
()) |
398 return UnknownRole; | 398 return UnknownRole; |
399 | 399 |
400 if (role == ButtonRole) | 400 if (role == ButtonRole) |
401 role = buttonRoleType(); | 401 role = buttonRoleType(); |
402 | 402 |
403 if (role == TextAreaRole && !ariaIsMultiline()) | |
404 role = TextFieldRole; | |
405 | |
406 role = remapAriaRoleDueToParent(role); | 403 role = remapAriaRoleDueToParent(role); |
407 | 404 |
408 if (role) | 405 if (role) |
409 return role; | 406 return role; |
410 | 407 |
411 return UnknownRole; | 408 return UnknownRole; |
412 } | 409 } |
413 | 410 |
414 void AXNodeObject::elementsFromAttribute(WillBeHeapVector<RawPtrWillBeMember<Ele
ment>>& elements, const QualifiedName& attribute) const | 411 void AXNodeObject::elementsFromAttribute(WillBeHeapVector<RawPtrWillBeMember<Ele
ment>>& elements, const QualifiedName& attribute) const |
415 { | 412 { |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
750 return false; | 747 return false; |
751 } | 748 } |
752 | 749 |
753 bool AXNodeObject::isPasswordField() const | 750 bool AXNodeObject::isPasswordField() const |
754 { | 751 { |
755 Node* node = this->node(); | 752 Node* node = this->node(); |
756 if (!isHTMLInputElement(node)) | 753 if (!isHTMLInputElement(node)) |
757 return false; | 754 return false; |
758 | 755 |
759 AccessibilityRole ariaRole = ariaRoleAttribute(); | 756 AccessibilityRole ariaRole = ariaRoleAttribute(); |
760 if (ariaRole != TextFieldRole && ariaRole != TextAreaRole && ariaRole != Unk
nownRole) | 757 if (ariaRole != TextFieldRole && ariaRole != UnknownRole) |
761 return false; | 758 return false; |
762 | 759 |
763 return toHTMLInputElement(node)->type() == InputTypeNames::password; | 760 return toHTMLInputElement(node)->type() == InputTypeNames::password; |
764 } | 761 } |
765 | 762 |
766 bool AXNodeObject::isProgressIndicator() const | 763 bool AXNodeObject::isProgressIndicator() const |
767 { | 764 { |
768 return roleValue() == ProgressIndicatorRole; | 765 return roleValue() == ProgressIndicatorRole; |
769 } | 766 } |
770 | 767 |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1040 level++; | 1037 level++; |
1041 else if (parentRole == TreeRole) | 1038 else if (parentRole == TreeRole) |
1042 break; | 1039 break; |
1043 } | 1040 } |
1044 | 1041 |
1045 return level; | 1042 return level; |
1046 } | 1043 } |
1047 | 1044 |
1048 String AXNodeObject::ariaAutoComplete() const | 1045 String AXNodeObject::ariaAutoComplete() const |
1049 { | 1046 { |
1050 if (roleValue() != ComboBoxRole && roleValue() != TextAreaRole) | 1047 if (roleValue() != ComboBoxRole) |
1051 return String(); | 1048 return String(); |
1052 | 1049 |
1053 const AtomicString& ariaAutoComplete = getAttribute(aria_autocompleteAttr).l
ower(); | 1050 const AtomicString& ariaAutoComplete = getAttribute(aria_autocompleteAttr).l
ower(); |
1054 | 1051 |
1055 if (ariaAutoComplete == "inline" || ariaAutoComplete == "list" | 1052 if (ariaAutoComplete == "inline" || ariaAutoComplete == "list" |
1056 || ariaAutoComplete == "both") | 1053 || ariaAutoComplete == "both") |
1057 return ariaAutoComplete; | 1054 return ariaAutoComplete; |
1058 | 1055 |
1059 return String(); | 1056 return String(); |
1060 } | 1057 } |
(...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2085 float range = maxValueForRange() - minValueForRange(); | 2082 float range = maxValueForRange() - minValueForRange(); |
2086 float value = valueForRange(); | 2083 float value = valueForRange(); |
2087 | 2084 |
2088 value += range * (percentChange / 100); | 2085 value += range * (percentChange / 100); |
2089 setValue(String::number(value)); | 2086 setValue(String::number(value)); |
2090 | 2087 |
2091 axObjectCache()->postNotification(node(), AXObjectCacheImpl::AXValueChanged)
; | 2088 axObjectCache()->postNotification(node(), AXObjectCacheImpl::AXValueChanged)
; |
2092 } | 2089 } |
2093 | 2090 |
2094 } // namespace blink | 2091 } // namespace blink |
OLD | NEW |