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 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
627 | 627 |
628 bool AccessibilityNodeObject::isReadOnly() const | 628 bool AccessibilityNodeObject::isReadOnly() const |
629 { | 629 { |
630 Node* node = this->node(); | 630 Node* node = this->node(); |
631 if (!node) | 631 if (!node) |
632 return true; | 632 return true; |
633 | 633 |
634 if (node->hasTagName(textareaTag)) | 634 if (node->hasTagName(textareaTag)) |
635 return static_cast<HTMLTextAreaElement*>(node)->readOnly(); | 635 return static_cast<HTMLTextAreaElement*>(node)->readOnly(); |
636 | 636 |
637 if (node->hasTagName(inputTag)) | 637 if (node->hasTagName(inputTag)) { |
638 return static_cast<HTMLInputElement*>(node)->readOnly(); | 638 HTMLInputElement* input = static_cast<HTMLInputElement*>(node); |
| 639 if (input->isTextField()) |
| 640 return input->readOnly(); |
| 641 } |
639 | 642 |
640 return !node->rendererIsEditable(); | 643 return !node->rendererIsEditable(); |
641 } | 644 } |
642 | 645 |
643 bool AccessibilityNodeObject::isRequired() const | 646 bool AccessibilityNodeObject::isRequired() const |
644 { | 647 { |
645 if (equalIgnoringCase(getAttribute(aria_requiredAttr), "true")) | 648 if (equalIgnoringCase(getAttribute(aria_requiredAttr), "true")) |
646 return true; | 649 return true; |
647 | 650 |
648 Node* n = this->node(); | 651 Node* n = this->node(); |
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1467 bool AccessibilityNodeObject::hasContentEditableAttributeSet() const | 1470 bool AccessibilityNodeObject::hasContentEditableAttributeSet() const |
1468 { | 1471 { |
1469 if (!hasAttribute(contenteditableAttr)) | 1472 if (!hasAttribute(contenteditableAttr)) |
1470 return false; | 1473 return false; |
1471 const AtomicString& contentEditableValue = getAttribute(contenteditableAttr)
; | 1474 const AtomicString& contentEditableValue = getAttribute(contenteditableAttr)
; |
1472 // Both "true" (case-insensitive) and the empty string count as true. | 1475 // Both "true" (case-insensitive) and the empty string count as true. |
1473 return contentEditableValue.isEmpty() || equalIgnoringCase(contentEditableVa
lue, "true"); | 1476 return contentEditableValue.isEmpty() || equalIgnoringCase(contentEditableVa
lue, "true"); |
1474 } | 1477 } |
1475 | 1478 |
1476 } // namespace WebCore | 1479 } // namespace WebCore |
OLD | NEW |