OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple 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 11 matching lines...) Expand all Loading... |
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 */ | 27 */ |
28 | 28 |
29 #include "config.h" | 29 #include "config.h" |
30 #include "core/accessibility/AXList.h" | 30 #include "core/accessibility/AXList.h" |
31 | 31 |
| 32 #include "core/html/HTMLUListElement.h" |
32 #include "core/rendering/RenderObject.h" | 33 #include "core/rendering/RenderObject.h" |
33 | 34 |
34 using namespace std; | 35 using namespace std; |
35 | 36 |
36 namespace WebCore { | 37 namespace WebCore { |
37 | 38 |
38 using namespace HTMLNames; | 39 using namespace HTMLNames; |
39 | 40 |
40 AXList::AXList(RenderObject* renderer) | 41 AXList::AXList(RenderObject* renderer) |
41 : AXRenderObject(renderer) | 42 : AXRenderObject(renderer) |
(...skipping 12 matching lines...) Expand all Loading... |
54 bool AXList::computeAccessibilityIsIgnored() const | 55 bool AXList::computeAccessibilityIsIgnored() const |
55 { | 56 { |
56 return accessibilityIsIgnoredByDefault(); | 57 return accessibilityIsIgnoredByDefault(); |
57 } | 58 } |
58 | 59 |
59 bool AXList::isUnorderedList() const | 60 bool AXList::isUnorderedList() const |
60 { | 61 { |
61 if (!m_renderer) | 62 if (!m_renderer) |
62 return false; | 63 return false; |
63 | 64 |
64 Node* node = m_renderer->node(); | |
65 | |
66 // The ARIA spec says the "list" role is supposed to mimic a UL or OL tag. | 65 // The ARIA spec says the "list" role is supposed to mimic a UL or OL tag. |
67 // Since it can't be both, it's probably OK to say that it's an un-ordered l
ist. | 66 // Since it can't be both, it's probably OK to say that it's an un-ordered l
ist. |
68 // On the Mac, there's no distinction to the client. | 67 // On the Mac, there's no distinction to the client. |
69 if (ariaRoleAttribute() == ListRole) | 68 if (ariaRoleAttribute() == ListRole) |
70 return true; | 69 return true; |
71 | 70 |
72 return node && node->hasTagName(ulTag); | 71 return isHTMLUListElement(m_renderer->node()); |
73 } | 72 } |
74 | 73 |
75 bool AXList::isOrderedList() const | 74 bool AXList::isOrderedList() const |
76 { | 75 { |
77 if (!m_renderer) | 76 if (!m_renderer) |
78 return false; | 77 return false; |
79 | 78 |
80 // ARIA says a directory is like a static table of contents, which sounds li
ke an ordered list. | 79 // ARIA says a directory is like a static table of contents, which sounds li
ke an ordered list. |
81 if (ariaRoleAttribute() == DirectoryRole) | 80 if (ariaRoleAttribute() == DirectoryRole) |
82 return true; | 81 return true; |
83 | 82 |
84 Node* node = m_renderer->node(); | 83 return isHTMLOListElement(m_renderer->node()); |
85 return node && node->hasTagName(olTag); | |
86 } | 84 } |
87 | 85 |
88 bool AXList::isDescriptionList() const | 86 bool AXList::isDescriptionList() const |
89 { | 87 { |
90 if (!m_renderer) | 88 if (!m_renderer) |
91 return false; | 89 return false; |
92 | 90 |
93 Node* node = m_renderer->node(); | 91 return isHTMLDListElement(m_renderer->node()); |
94 return node && node->hasTagName(dlTag); | |
95 } | 92 } |
96 | 93 |
97 | 94 |
98 } // namespace WebCore | 95 } // namespace WebCore |
OLD | NEW |