2009-08-25 Eric Carlson <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible (edit)
        https://bugs.webkit.org/show_bug.cgi?id=28081

        Test: accessibility/media-element.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
            Add AccessibilityMediaControls.cpp/.h

        * accessibility/AXObjectCache.cpp:
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::getOrCreate):
            Create AccessibilityMediaControl. Update Copyright

        * accessibility/AccessibilityMediaControls.cpp:
        * accessibility/AccessibilityMediaControls.h:
            Added.

        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityObject.h:
            Add isMediaTimeline. Update Copyright.

        * accessibility/AccessibilitySlider.h:
            Make constructor protected instead of private so AccessibilityMediaTimeline can
            call it.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
            Add NSAccessibilityValueDescriptionAttribute to range attributes. 
        (-[AccessibilityObjectWrapper subrole]):
            Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.

        * dom/Node.h:
            add isMediaControlElement.

        * page/mac/WebCoreViewFactory.h:
        * platform/LocalizedStrings.h:
        * platform/mac/LocalizedStringsMac.mm:
        (WebCore::localizedMediaControlElementString): 
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription): 
            New, return localized media controller strings.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):
            Move inside of "#if ENABLE(VIDEO)"
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::MediaControlElement):
            Initialize m_displayType.
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
            Fix style.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
            Set m_displayType based on pseudo style ID.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
            rename local "o" to "object".
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
            Update for MediaControlInputElement constructor change.
        (WebCore::MediaControlTimeDisplayElement::formatTime):
            New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
        (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
            New, set text to current time.
        * rendering/MediaControlElements.h:

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):
            Create controls in tab order.
        (WebCore::RenderMedia::formatTime):
            Moved to MediaControlTimeDisplayElement::formatTime.
        (WebCore::RenderMedia::updateTimeDisplay):
            Call MediaControlTimeDisplayElement::setCurrentValue.
        * rendering/RenderMedia.h:

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        Add localized strings for media controller accessiblility.

        * English.lproj/Localizable.strings:

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory localizedMediaControlElementString:]):
        (-[WebViewFactory localizedMediaControlElementHelpText:]):
        (-[WebViewFactory localizedMediaTimeDescription:]):
            New.

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * WebCoreLocalizedStrings.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
            New.

2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * accessibility/media-element.html: Added.
        * platform/mac/accessibility/media-element-expected.txt: Added.
        * media/video-controls-visible-audio-only.html:
        * platform/mac-leopard/accessibility/media-element-expected.txt: Added.
        * platform/mac-leopard/media/controls-drag-timebar-expected.txt: Added.
        * platform/mac-leopard/media/controls-strict-expected.txt: Added.
        * platform/mac-leopard/media/video-controls-rendering-expected.txt: Added.
        * platform/mac-leopard/media/video-display-toggle-expected.txt: Added.
        * platform/win/media/controls-strict-expected.txt: Added.
        * platform/win/media/video-controls-rendering-expected.txt: Added.
        * platform/win/media/video-display-toggle-expected.txt: Added.
            Added.

        * platform/mac-leopard/media/audio-controls-rendering-expected.txt:
        * platform/mac-leopard/media/controls-after-reload-expected.txt:
        * platform/mac-leopard/media/controls-styling-expected.txt:
        * platform/mac-leopard/media/video-zoom-controls-expected.txt:
        * platform/mac/media/audio-controls-rendering-expected.txt:
        * platform/mac/media/controls-after-reload-expected.txt:
        * platform/mac/media/controls-styling-expected.txt:
        * platform/mac/media/video-zoom-controls-expected.txt:
        * platform/win/media/audio-controls-rendering-expected.txt:
        * platform/win/media/controls-after-reload-expected.txt:
        * platform/win/media/controls-drag-timebar-expected.txt:
        * platform/win/media/controls-styling-expected.txt:
            Update for controller element tab order change.

        * platform/gtk/Skipped:
        * platform/win/Skipped:
            Skip new test.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 8fcf0731
2009-08-25 Eric Carlson <eric.carlson@apple.com>
Reviewed by Oliver Hunt.
<video> and <audio> controller should be accessible
https://bugs.webkit.org/show_bug.cgi?id=28081
* accessibility/media-element.html: Added.
* platform/mac/accessibility/media-element-expected.txt: Added.
* media/video-controls-visible-audio-only.html:
* platform/mac-leopard/accessibility/media-element-expected.txt: Added.
* platform/mac-leopard/media/controls-drag-timebar-expected.txt: Added.
* platform/mac-leopard/media/controls-strict-expected.txt: Added.
* platform/mac-leopard/media/video-controls-rendering-expected.txt: Added.
* platform/mac-leopard/media/video-display-toggle-expected.txt: Added.
* platform/win/media/controls-strict-expected.txt: Added.
* platform/win/media/video-controls-rendering-expected.txt: Added.
* platform/win/media/video-display-toggle-expected.txt: Added.
Added.
* platform/mac-leopard/media/audio-controls-rendering-expected.txt:
* platform/mac-leopard/media/controls-after-reload-expected.txt:
* platform/mac-leopard/media/controls-styling-expected.txt:
* platform/mac-leopard/media/video-zoom-controls-expected.txt:
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-styling-expected.txt:
* platform/mac/media/video-zoom-controls-expected.txt:
* platform/win/media/audio-controls-rendering-expected.txt:
* platform/win/media/controls-after-reload-expected.txt:
* platform/win/media/controls-drag-timebar-expected.txt:
* platform/win/media/controls-styling-expected.txt:
Update for controller element tab order change.
* platform/gtk/Skipped:
* platform/win/Skipped:
Skip new test.
2009-08-25 Mads Ager <ager@chromium.org>
Reviewed by Adam Barth.
......
<html>
<head>
<link rel="stylesheet" href="../fast/js/resources/js-test-style.css">
<script src="../fast/js/resources/js-test-pre.js"></script>
<script>
var vidAXObject;
var indentLevel = 0;
if (window.layoutTestController) {
layoutTestController.dumpAsText();
layoutTestController.waitUntilDone();
}
function indent(count)
{
var spaces = " ";
return spaces.substr(0, count);
}
function dumpObject(axObject)
{
debug(indent(indentLevel) + "description: " + axObject.description);
debug(indent(indentLevel) + "role: " + axObject.role);
debug("<br>");
}
function dumpChildren(axObject)
{
var count = axObject.childrenCount
if (!count)
return;
indentLevel += 4;
for (var ndx = 0; ndx < count; ndx++) {
var childAXObject = axObject.childAtIndex(ndx);
dumpObject(childAXObject);
if (childAXObject.childrenCount) {
// don't bother dumping static text children
if ( childAXObject.role != "AXRole: AXStaticText")
dumpChildren(childAXObject);
}
}
indentLevel -= 4;
}
function dumpVideoAX()
{
debug("<br>+++++++++++++++++++++++++++++++++++<br>");
debug("State at '" + event.type + "' event:<br>");
if (!window.accessibilityController)
return;
var body = document.getElementsByTagName("body")[0];
body.focus();
var vidAXObject = accessibilityController.focusedElement.childAtIndex(0);
dumpChildren(vidAXObject);
if (window.layoutTestController && event.type == 'load')
layoutTestController.notifyDone();
}
</script>
</head>
<body>
<video id=vid src="../media/content/test.mp4" controls onload="dumpVideoAX()">
</video>
<div>Dump &lt;video&gt; element controller accessibility object tree at 'loadstart' and 'load' events.</div>
<div id=console></div>
</body>
</html>
......@@ -33,7 +33,7 @@
return;
// start playback
eventSender.mouseMoveTo(left + 16 + 8, bottom - 8);
eventSender.mouseMoveTo(left + 8, bottom - 8);
eventSender.mouseDown();
eventSender.mouseUp();
testcondition("!video.paused");
......
......@@ -76,6 +76,7 @@ accessibility/img-aria-button-alt-tag.html
accessibility/input-image-alt.html
accessibility/input-slider.html
accessibility/language-attribute.html
accessibility/media-element.html
accessibility/onclick-handlers.html
accessibility/placeholder.html
accessibility/radio-button-title-label.html
......
Dump <video> element controller accessibility object tree at 'loadstart' and 'load' events.
+++++++++++++++++++++++++++++++++++
State at 'load' event:
description: AXDescription: video element controller
role: AXRole: AXToolbar
description: AXDescription: play
role: AXRole: AXButton
description: AXDescription:
role: AXRole: AXSlider
description: AXDescription:
role: AXRole: AXValueIndicator
description: AXDescription: fast reverse
role: AXRole: AXButton
description: AXDescription: fast forward
role: AXRole: AXButton
description: AXDescription: mute
role: AXRole: AXButton
......@@ -19,10 +19,10 @@ layer at (8,42) size 200x16
layer at (8,42) size 200x16
RenderFlexibleBox (positioned) {DIV} at (0,0) size 200x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 136x16
RenderFlexibleBox {DIV} at (16,0) size 136x16
RenderSlider {INPUT} at (0,0) size 136x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (152,0) size 16x16
RenderButton {INPUT} at (168,0) size 16x16
RenderButton {INPUT} at (184,0) size 16x16
layer at (8,76) size 320x16
......@@ -30,10 +30,10 @@ layer at (8,76) size 320x16
layer at (8,76) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (8,110) size 320x100
......@@ -43,9 +43,9 @@ layer at (8,110) size 320x100
layer at (8,194) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,84) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
......@@ -17,9 +17,9 @@ layer at (8,42) size 320x240
layer at (8,266) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
Test that drag the timebar thumb causes seeks.
RUN(video.autoplay = true)
RUN(video.src = 'content/test.mp4')
EVENT(playing)
EVENT(seeked)
Time: 2.1
EVENT(seeked)
Time: 2.6
EVENT(seeked)
Time: 3.1
END OF TEST
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x302
RenderBlock {HTML} at (0,0) size 800x302
RenderBody {BODY} at (8,16) size 784x278
RenderBlock {P} at (0,0) size 784x18
RenderText {#text} at (0,0) size 226x18
text run at (0,0) width 226: "Drawing the controls in strict mode."
RenderBlock (anonymous) at (0,34) size 784x244
RenderText {#text} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
layer at (8,50) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (8,50) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
layer at (8,274) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
......@@ -21,10 +21,10 @@ layer at (18,42) size 320x240
layer at (18,266) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (8,282) size 320x240
......@@ -32,9 +32,9 @@ layer at (8,282) size 320x240
layer at (8,506) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (0,0) size 785x762
RenderView at (0,0) size 785x600
layer at (0,0) size 785x600
RenderBlock {HTML} at (0,0) size 785x600
RenderBody {BODY} at (8,8) size 769x584
RenderBlock {P} at (0,0) size 769x18
RenderText {#text} at (0,0) size 153x18
text run at (0,0) width 153: "Test controls placement."
RenderBlock {DIV} at (0,34) size 769x240
RenderText {#text} at (0,0) size 0x0
RenderBlock {DIV} at (0,274) size 769x240
RenderText {#text} at (0,0) size 0x0
RenderBlock {DIV} at (0,514) size 769x0
layer at (8,42) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (8,282) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (8,42) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
layer at (8,266) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (8,282) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
layer at (8,506) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (8,522) size 320x240
RenderVideo {VIDEO} at (8,522) size 320x240
layer at (8,522) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
layer at (8,746) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderText {#text} at (0,0) size 493x18
text run at (0,0) width 493: "This tests that toggling the display property won't make the controls disappear."
RenderBR {BR} at (493,14) size 0x0
RenderText {#text} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
layer at (8,26) size 320x240
RenderVideo {VIDEO} at (0,18) size 320x240
layer at (8,26) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
layer at (8,250) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,224) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
......@@ -13,10 +13,10 @@ layer at (57,85) size 240x180
layer at (57,241) size 240x24
RenderFlexibleBox (positioned) {DIV} at (0,156) size 240x24
RenderButton {INPUT} at (0,0) size 24x24
RenderButton {INPUT} at (24,0) size 24x24
RenderFlexibleBox {DIV} at (48,0) size 144x24
RenderFlexibleBox {DIV} at (24,0) size 144x24
RenderSlider {INPUT} at (0,0) size 144x24
RenderBlock {DIV} at (3,1) size 19x21
RenderButton {INPUT} at (168,0) size 24x24
RenderButton {INPUT} at (192,0) size 24x24
RenderButton {INPUT} at (216,0) size 24x24
layer at (57,310) size 240x180
......@@ -26,9 +26,9 @@ layer at (57,310) size 240x180
layer at (57,466) size 240x24
RenderFlexibleBox (positioned) {DIV} at (0,156) size 240x24
RenderButton {INPUT} at (0,0) size 24x24
RenderButton {INPUT} at (24,0) size 24x24
RenderFlexibleBox {DIV} at (48,0) size 144x24
RenderFlexibleBox {DIV} at (24,0) size 144x24
RenderSlider {INPUT} at (0,0) size 144x24
RenderBlock {DIV} at (3,1) size 19x21
RenderButton {INPUT} at (168,0) size 24x24
RenderButton {INPUT} at (192,0) size 24x24
RenderButton {INPUT} at (216,0) size 24x24
Dump <video> element controller accessibility object tree at 'loadstart' and 'load' events.
+++++++++++++++++++++++++++++++++++
State at 'load' event:
description: AXDescription: video element controller
role: AXRole: AXToolbar
description: AXDescription: back 30 seconds
role: AXRole: AXButton
description: AXDescription: play
role: AXRole: AXButton
description: AXDescription: elapsed time
role: AXRole: AXStaticText
description: AXDescription:
role: AXRole: AXSlider
description: AXDescription:
role: AXRole: AXValueIndicator
description: AXDescription: remaining time
role: AXRole: AXStaticText
description: AXDescription: mute
role: AXRole: AXButton
......@@ -19,21 +19,21 @@ layer at (8,42) size 200x25
layer at (8,42) size 200x25
RenderFlexibleBox (positioned) {DIV} at (0,0) size 200x25
RenderButton {INPUT} at (6,3) size 18x18
RenderButton {INPUT} at (177,5) size 15x14
RenderButton {INPUT} at (32,4) size 16x16
RenderFlexibleBox {DIV} at (49,1) size 126x22
RenderSlider {INPUT} at (0,5) size 126x13
RenderBlock {DIV} at (0,1) size 12x10
RenderButton {INPUT} at (177,5) size 15x14
layer at (8,85) size 320x25
RenderBlock (relative positioned) {DIV} at (0,0) size 320x25
layer at (8,85) size 320x25
RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x25
RenderButton {INPUT} at (6,3) size 18x18
RenderButton {INPUT} at (297,5) size 15x14
RenderButton {INPUT} at (32,4) size 16x16
RenderFlexibleBox {DIV} at (49,5) size 246x15
RenderSlider {INPUT} at (45,2) size 156x13
RenderBlock {DIV} at (0,1) size 12x10
RenderButton {INPUT} at (297,5) size 15x14
layer at (57,92) size 45x11
RenderFlexibleBox {DIV} at (0,2) size 45x11 [color=#FFFFFF]
RenderBlock (anonymous) at (9,0) size 26x11
......@@ -51,11 +51,11 @@ layer at (8,128) size 320x100
layer at (8,203) size 320x25
RenderFlexibleBox (positioned) {DIV} at (0,75) size 320x25
RenderButton {INPUT} at (6,3) size 18x18
RenderButton {INPUT} at (297,5) size 15x14
RenderButton {INPUT} at (32,4) size 16x16
RenderFlexibleBox {DIV} at (49,5) size 246x15
RenderSlider {INPUT} at (45,2) size 156x13
RenderBlock {DIV} at (0,1) size 12x10
RenderButton {INPUT} at (297,5) size 15x14
layer at (57,210) size 45x11
RenderFlexibleBox {DIV} at (0,2) size 45x11 [color=#FFFFFF]
RenderBlock (anonymous) at (9,0) size 26x11
......
......@@ -17,11 +17,11 @@ layer at (8,42) size 320x240
layer at (8,257) size 320x25
RenderFlexibleBox (positioned) {DIV} at (0,215) size 320x25
RenderButton {INPUT} at (6,3) size 18x18
RenderButton {INPUT} at (297,5) size 15x14
RenderButton {INPUT} at (32,4) size 16x16
RenderFlexibleBox {DIV} at (49,5) size 246x15
RenderSlider {INPUT} at (45,2) size 156x13
RenderBlock {DIV} at (0,1) size 12x10
RenderButton {INPUT} at (297,5) size 15x14
layer at (57,264) size 45x11
RenderFlexibleBox {DIV} at (0,2) size 45x11 [color=#FFFFFF]
RenderBlock (anonymous) at (9,0) size 26x11
......
......@@ -21,11 +21,11 @@ layer at (18,42) size 320x240
layer at (18,257) size 320x25
RenderFlexibleBox (positioned) {DIV} at (0,215) size 320x25
RenderButton {INPUT} at (6,3) size 18x18
RenderButton {INPUT} at (297,5) size 15x14
RenderButton {INPUT} at (32,4) size 16x16
RenderFlexibleBox {DIV} at (49,5) size 246x15
RenderSlider {INPUT} at (45,2) size 156x13
RenderBlock {DIV} at (0,1) size 12x10
RenderButton {INPUT} at (297,5) size 15x14
layer at (67,264) size 45x11
RenderFlexibleBox {DIV} at (0,2) size 45x11 [color=#FFFFFF]
RenderBlock (anonymous) at (9,0) size 26x11
......@@ -41,11 +41,11 @@ layer at (8,282) size 320x240
layer at (8,497) size 320x25
RenderFlexibleBox (positioned) {DIV} at (0,215) size 320x25
RenderButton {INPUT} at (6,3) size 18x18
RenderButton {INPUT} at (297,5) size 15x14
RenderButton {INPUT} at (32,4) size 16x16
RenderFlexibleBox {DIV} at (49,5) size 246x15
RenderSlider {INPUT} at (45,2) size 156x13
RenderBlock {DIV} at (0,1) size 12x10
RenderButton {INPUT} at (297,5) size 15x14
layer at (57,504) size 45x11
RenderFlexibleBox {DIV} at (0,2) size 45x11 [color=#FFFFFF]
RenderBlock (anonymous) at (9,0) size 26x11
......
......@@ -13,11 +13,11 @@ layer at (57,85) size 240x180
layer at (57,228) size 240x37
RenderFlexibleBox (positioned) {DIV} at (0,143) size 240x37
RenderButton {INPUT} at (9,4) size 27x27
RenderButton {INPUT} at (206,8) size 22x21
RenderButton {INPUT} at (48,6) size 24x24
RenderFlexibleBox {DIV} at (73,1) size 130x34
RenderSlider {INPUT} at (0,9) size 130x19
RenderBlock {DIV} at (0,2) size 18x15
RenderButton {INPUT} at (206,8) size 22x21
layer at (57,310) size 240x180
RenderVideo {VIDEO} at (45,298) size 240x180
layer at (57,310) size 240x180
......@@ -25,8 +25,8 @@ layer at (57,310) size 240x180
layer at (57,453) size 240x37
RenderFlexibleBox (positioned) {DIV} at (0,143) size 240x37
RenderButton {INPUT} at (9,4) size 27x27
RenderButton {INPUT} at (206,8) size 22x21
RenderButton {INPUT} at (48,6) size 24x24
RenderFlexibleBox {DIV} at (73,1) size 130x34
RenderSlider {INPUT} at (0,9) size 130x19
RenderBlock {DIV} at (0,2) size 18x15
RenderButton {INPUT} at (206,8) size 22x21
......@@ -373,6 +373,7 @@ accessibility/internal-link-anchors2.html
accessibility/language-attribute.html
accessibility/legend.html
accessibility/lists.html
accessibility/media-element.html
accessibility/nochildren-elements.html
accessibility/non-data-table-cell-title-ui-element.html
accessibility/non-native-image-crash.html
......
......@@ -3,49 +3,49 @@ layer at (0,0) size 800x600
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
RenderBlock {P} at (0,0) size 784x18
RenderText {#text} at (0,0) size 153x18
RenderBlock {P} at (0,0) size 784x21
RenderText {#text} at (0,0) size 153x20
text run at (0,0) width 153: "Test controls placement."
RenderBlock (anonymous) at (0,34) size 784x86
RenderBlock (anonymous) at (0,37) size 784x95
RenderMedia {AUDIO} at (0,0) size 200x16 [bgcolor=#0000FF]
RenderBR {BR} at (200,16) size 0x0
RenderBR {BR} at (0,16) size 0x18
RenderMedia {AUDIO} at (0,34) size 320x16 [bgcolor=#0000FF]
RenderBR {BR} at (320,50) size 0x0
RenderBR {BR} at (0,50) size 0x18
RenderBR {BR} at (0,68) size 0x18
layer at (8,42) size 200x16
RenderBR {BR} at (0,16) size 0x20
RenderMedia {AUDIO} at (0,37) size 320x16 [bgcolor=#0000FF]
RenderBR {BR} at (320,53) size 0x0
RenderBR {BR} at (0,53) size 0x20
RenderBR {BR} at (0,74) size 0x20
layer at (8,45) size 200x16
RenderBlock (relative positioned) {DIV} at (0,0) size 200x16
layer at (8,42) size 200x16
layer at (8,45) size 200x16
RenderFlexibleBox (positioned) {DIV} at (0,0) size 200x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 136x16
RenderFlexibleBox {DIV} at (16,0) size 136x16
RenderSlider {INPUT} at (0,0) size 136x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (152,0) size 16x16
RenderButton {INPUT} at (168,0) size 16x16
RenderButton {INPUT} at (184,0) size 16x16
layer at (8,76) size 320x16
layer at (8,82) size 320x16
RenderBlock (relative positioned) {DIV} at (0,0) size 320x16
layer at (8,76) size 320x16
layer at (8,82) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16
RenderButton {INPUT} at (304,0) size 16x16
layer at (8,110) size 320x100
RenderMedia {AUDIO} at (8,110) size 320x100 [bgcolor=#0000FF]
layer at (8,110) size 320x100
layer at (8,119) size 320x100
RenderMedia {AUDIO} at (8,119) size 320x100 [bgcolor=#0000FF]
layer at (8,119) size 320x100
RenderBlock (relative positioned) {DIV} at (0,0) size 320x100
layer at (8,194) size 320x16
layer at (8,203) size 320x16
RenderFlexibleBox (positioned) {DIV} at (0,84) size 320x16
RenderButton {INPUT} at (0,0) size 16x16
RenderButton {INPUT} at (16,0) size 16x16
RenderFlexibleBox {DIV} at (32,0) size 256x16
RenderFlexibleBox {DIV} at (16,0) size 256x16
RenderSlider {INPUT} at (0,0) size 256x16
RenderBlock {DIV} at (2,1) size 13x14
RenderButton {INPUT} at (272,0) size 16x16
RenderButton {INPUT} at (288,0) size 16x16