| 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 |