OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 } | 69 } |
70 | 70 |
71 MediaControlElementType AccessibilityMediaControl::controlType() const | 71 MediaControlElementType AccessibilityMediaControl::controlType() const |
72 { | 72 { |
73 if (!layoutObject() || !layoutObject()->node()) | 73 if (!layoutObject() || !layoutObject()->node()) |
74 return MediaTimelineContainer; // Timeline container is not accessible. | 74 return MediaTimelineContainer; // Timeline container is not accessible. |
75 | 75 |
76 return mediaControlElementType(layoutObject()->node()); | 76 return mediaControlElementType(layoutObject()->node()); |
77 } | 77 } |
78 | 78 |
79 String AccessibilityMediaControl::deprecatedTitle(TextUnderElementMode mode) con
st | 79 String AccessibilityMediaControl::textAlternative(bool recursive, bool inAriaLab
elledByTraversal, AXObjectSet& visited, AXNameFrom& nameFrom, AXRelatedObjectVec
tor* relatedObjects, NameSources* nameSources) const |
80 { | |
81 // FIXME: the ControlsPanel container should never be visible in the | |
82 // accessibility hierarchy. | |
83 if (controlType() == MediaControlsPanel) | |
84 return queryString(WebLocalizedString::AXMediaDefault); | |
85 | |
86 return AXLayoutObject::deprecatedTitle(mode); | |
87 } | |
88 | |
89 String AccessibilityMediaControl::deprecatedAccessibilityDescription() const | |
90 { | 80 { |
91 switch (controlType()) { | 81 switch (controlType()) { |
92 case MediaEnterFullscreenButton: | 82 case MediaEnterFullscreenButton: |
93 return queryString(WebLocalizedString::AXMediaEnterFullscreenButton); | 83 return queryString(WebLocalizedString::AXMediaEnterFullscreenButton); |
94 case MediaExitFullscreenButton: | 84 case MediaExitFullscreenButton: |
95 return queryString(WebLocalizedString::AXMediaExitFullscreenButton); | 85 return queryString(WebLocalizedString::AXMediaExitFullscreenButton); |
96 case MediaMuteButton: | 86 case MediaMuteButton: |
97 return queryString(WebLocalizedString::AXMediaMuteButton); | 87 return queryString(WebLocalizedString::AXMediaMuteButton); |
98 case MediaPlayButton: | 88 case MediaPlayButton: |
99 return queryString(WebLocalizedString::AXMediaPlayButton); | 89 return queryString(WebLocalizedString::AXMediaPlayButton); |
(...skipping 11 matching lines...) Expand all Loading... |
111 return queryString(WebLocalizedString::AXMediaHideClosedCaptionsButton); | 101 return queryString(WebLocalizedString::AXMediaHideClosedCaptionsButton); |
112 case MediaCastOffButton: | 102 case MediaCastOffButton: |
113 return queryString(WebLocalizedString::AxMediaCastOffButton); | 103 return queryString(WebLocalizedString::AxMediaCastOffButton); |
114 case MediaCastOnButton: | 104 case MediaCastOnButton: |
115 return queryString(WebLocalizedString::AxMediaCastOnButton); | 105 return queryString(WebLocalizedString::AxMediaCastOnButton); |
116 default: | 106 default: |
117 return queryString(WebLocalizedString::AXMediaDefault); | 107 return queryString(WebLocalizedString::AXMediaDefault); |
118 } | 108 } |
119 } | 109 } |
120 | 110 |
121 String AccessibilityMediaControl::deprecatedHelpText() const | 111 String AccessibilityMediaControl::description(AXNameFrom nameFrom, AXDescription
From& descriptionFrom, AXObjectVector* descriptionObjects) const |
122 { | 112 { |
123 switch (controlType()) { | 113 switch (controlType()) { |
124 case MediaEnterFullscreenButton: | 114 case MediaEnterFullscreenButton: |
125 return queryString(WebLocalizedString::AXMediaEnterFullscreenButtonHelp)
; | 115 return queryString(WebLocalizedString::AXMediaEnterFullscreenButtonHelp)
; |
126 case MediaExitFullscreenButton: | 116 case MediaExitFullscreenButton: |
127 return queryString(WebLocalizedString::AXMediaExitFullscreenButtonHelp); | 117 return queryString(WebLocalizedString::AXMediaExitFullscreenButtonHelp); |
128 case MediaMuteButton: | 118 case MediaMuteButton: |
129 return queryString(WebLocalizedString::AXMediaMuteButtonHelp); | 119 return queryString(WebLocalizedString::AXMediaMuteButtonHelp); |
130 case MediaPlayButton: | 120 case MediaPlayButton: |
131 return queryString(WebLocalizedString::AXMediaPlayButtonHelp); | 121 return queryString(WebLocalizedString::AXMediaPlayButtonHelp); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 AXMediaControlsContainer::AXMediaControlsContainer(LayoutObject* layoutObject, A
XObjectCacheImpl& axObjectCache) | 179 AXMediaControlsContainer::AXMediaControlsContainer(LayoutObject* layoutObject, A
XObjectCacheImpl& axObjectCache) |
190 : AccessibilityMediaControl(layoutObject, axObjectCache) | 180 : AccessibilityMediaControl(layoutObject, axObjectCache) |
191 { | 181 { |
192 } | 182 } |
193 | 183 |
194 AXObject* AXMediaControlsContainer::create(LayoutObject* layoutObject, AXObjectC
acheImpl& axObjectCache) | 184 AXObject* AXMediaControlsContainer::create(LayoutObject* layoutObject, AXObjectC
acheImpl& axObjectCache) |
195 { | 185 { |
196 return new AXMediaControlsContainer(layoutObject, axObjectCache); | 186 return new AXMediaControlsContainer(layoutObject, axObjectCache); |
197 } | 187 } |
198 | 188 |
199 String AXMediaControlsContainer::deprecatedAccessibilityDescription() const | 189 String AXMediaControlsContainer::textAlternative(bool recursive, bool inAriaLabe
lledByTraversal, AXObjectSet& visited, AXNameFrom& nameFrom, AXRelatedObjectVect
or* relatedObjects, NameSources* nameSources) const |
200 { | 190 { |
201 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia
VideoElement : WebLocalizedString::AXMediaAudioElement); | 191 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia
VideoElement : WebLocalizedString::AXMediaAudioElement); |
202 } | 192 } |
203 | 193 |
204 String AXMediaControlsContainer::deprecatedHelpText() const | 194 String AXMediaControlsContainer::description(AXNameFrom nameFrom, AXDescriptionF
rom& descriptionFrom, AXObjectVector* descriptionObjects) const |
205 { | 195 { |
206 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia
VideoElementHelp : WebLocalizedString::AXMediaAudioElementHelp); | 196 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia
VideoElementHelp : WebLocalizedString::AXMediaAudioElementHelp); |
207 } | 197 } |
208 | 198 |
209 bool AXMediaControlsContainer::computeAccessibilityIsIgnored(IgnoredReasons* ign
oredReasons) const | 199 bool AXMediaControlsContainer::computeAccessibilityIsIgnored(IgnoredReasons* ign
oredReasons) const |
210 { | 200 { |
211 return accessibilityIsIgnoredByDefault(ignoredReasons); | 201 return accessibilityIsIgnoredByDefault(ignoredReasons); |
212 } | 202 } |
213 | 203 |
214 // | 204 // |
(...skipping 18 matching lines...) Expand all Loading... |
233 | 223 |
234 String AccessibilityMediaTimeline::valueDescription() const | 224 String AccessibilityMediaTimeline::valueDescription() const |
235 { | 225 { |
236 Node* node = m_layoutObject->node(); | 226 Node* node = m_layoutObject->node(); |
237 if (!isHTMLInputElement(node)) | 227 if (!isHTMLInputElement(node)) |
238 return String(); | 228 return String(); |
239 | 229 |
240 return localizedMediaTimeDescription(toHTMLInputElement(node)->value().toFlo
at()); | 230 return localizedMediaTimeDescription(toHTMLInputElement(node)->value().toFlo
at()); |
241 } | 231 } |
242 | 232 |
243 String AccessibilityMediaTimeline::deprecatedHelpText() const | 233 String AccessibilityMediaTimeline::description(AXNameFrom nameFrom, AXDescriptio
nFrom& descriptionFrom, AXObjectVector* descriptionObjects) const |
244 { | 234 { |
245 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia
VideoSliderHelp : WebLocalizedString::AXMediaAudioSliderHelp); | 235 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia
VideoSliderHelp : WebLocalizedString::AXMediaAudioSliderHelp); |
246 } | 236 } |
247 | 237 |
248 | 238 |
249 // | 239 // |
250 // AccessibilityMediaTimeDisplay | 240 // AccessibilityMediaTimeDisplay |
251 | 241 |
252 AccessibilityMediaTimeDisplay::AccessibilityMediaTimeDisplay(LayoutObject* layou
tObject, AXObjectCacheImpl& axObjectCache) | 242 AccessibilityMediaTimeDisplay::AccessibilityMediaTimeDisplay(LayoutObject* layou
tObject, AXObjectCacheImpl& axObjectCache) |
253 : AccessibilityMediaControl(layoutObject, axObjectCache) | 243 : AccessibilityMediaControl(layoutObject, axObjectCache) |
254 { | 244 { |
255 } | 245 } |
256 | 246 |
257 AXObject* AccessibilityMediaTimeDisplay::create(LayoutObject* layoutObject, AXOb
jectCacheImpl& axObjectCache) | 247 AXObject* AccessibilityMediaTimeDisplay::create(LayoutObject* layoutObject, AXOb
jectCacheImpl& axObjectCache) |
258 { | 248 { |
259 return new AccessibilityMediaTimeDisplay(layoutObject, axObjectCache); | 249 return new AccessibilityMediaTimeDisplay(layoutObject, axObjectCache); |
260 } | 250 } |
261 | 251 |
262 bool AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored(IgnoredReasons
* ignoredReasons) const | 252 bool AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored(IgnoredReasons
* ignoredReasons) const |
263 { | 253 { |
264 if (!m_layoutObject || !m_layoutObject->style() || m_layoutObject->style()->
visibility() != VISIBLE) | 254 if (!m_layoutObject || !m_layoutObject->style() || m_layoutObject->style()->
visibility() != VISIBLE) |
265 return true; | 255 return true; |
266 | 256 |
267 if (!m_layoutObject->style()->width().value()) | 257 if (!m_layoutObject->style()->width().value()) |
268 return true; | 258 return true; |
269 | 259 |
270 return accessibilityIsIgnoredByDefault(ignoredReasons); | 260 return accessibilityIsIgnoredByDefault(ignoredReasons); |
271 } | 261 } |
272 | 262 |
273 String AccessibilityMediaTimeDisplay::deprecatedAccessibilityDescription() const | 263 String AccessibilityMediaTimeDisplay::textAlternative(bool recursive, bool inAri
aLabelledByTraversal, AXObjectSet& visited, AXNameFrom& nameFrom, AXRelatedObjec
tVector* relatedObjects, NameSources* nameSources) const |
274 { | 264 { |
275 if (controlType() == MediaCurrentTimeDisplay) | 265 if (controlType() == MediaCurrentTimeDisplay) |
276 return queryString(WebLocalizedString::AXMediaCurrentTimeDisplay); | 266 return queryString(WebLocalizedString::AXMediaCurrentTimeDisplay); |
277 return queryString(WebLocalizedString::AXMediaTimeRemainingDisplay); | 267 return queryString(WebLocalizedString::AXMediaTimeRemainingDisplay); |
278 } | 268 } |
279 | 269 |
280 String AccessibilityMediaTimeDisplay::stringValue() const | 270 String AccessibilityMediaTimeDisplay::stringValue() const |
281 { | 271 { |
282 if (!m_layoutObject || !m_layoutObject->node()) | 272 if (!m_layoutObject || !m_layoutObject->node()) |
283 return String(); | 273 return String(); |
284 | 274 |
285 MediaControlTimeDisplayElement* element = static_cast<MediaControlTimeDispla
yElement*>(m_layoutObject->node()); | 275 MediaControlTimeDisplayElement* element = static_cast<MediaControlTimeDispla
yElement*>(m_layoutObject->node()); |
286 float time = element->currentValue(); | 276 float time = element->currentValue(); |
287 return localizedMediaTimeDescription(fabsf(time)); | 277 return localizedMediaTimeDescription(fabsf(time)); |
288 } | 278 } |
289 | 279 |
290 } // namespace blink | 280 } // namespace blink |
OLD | NEW |