If a <canvas> object using <noscript>, then the text contents of no script are exposed as AX elements
<rdar://problem/14796451>
<rdar://problem/14775259>
Created attachment 209299 [details] patch
Comment on attachment 209299 [details] patch Attachment 209299 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/1516886 New failing tests: accessibility/noscript-ignored.html
Created attachment 209313 [details] Archive of layout-test-results from webkit-ews-05 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-05 Port: mac-mountainlion Platform: Mac OS X 10.8.4
this test is weirdly flaky for some reason. Maybe the bit field isn't big enough to hold the default value?
Created attachment 209372 [details] patch Actually just forgot a file.
Created attachment 209373 [details] patch
Comment on attachment 209373 [details] patch Attachment 209373 [details] did not pass win-ews (win): Output: http://webkit-queues.appspot.com/results/1586122
This Windows build failure seems unrelated. The TestWebKitAPI target seems to be the one that is failing
Comment on attachment 209373 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=209373&action=review > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2873 > + // Add the unrendered canvas children as AX nodes, unless we're not using a canvas renderer > + // because JS is disabled for example. > + if (!node() || !node()->hasTagName(canvasTag) || (renderer() && !renderer()->isCanvas())) Will we still get the <noscript> if JS is disabled in this case? > LayoutTests/accessibility/noscript-ignored.html:8 > +<canvas width="200" height="100" id="canvas"><noscript><img id='hidden-image' src='resources/cake.png'></noscript></canvas> Can we test the JS-disabled case too? Does noscript work with anything other than canvas? (fairly sure the answer is yes). You've special cased canvas; do you need to do that for anything else?
(In reply to comment #11) > (From update of attachment 209373 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=209373&action=review > > > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2873 > > + // Add the unrendered canvas children as AX nodes, unless we're not using a canvas renderer > > + // because JS is disabled for example. > > + if (!node() || !node()->hasTagName(canvasTag) || (renderer() && !renderer()->isCanvas())) > > Will we still get the <noscript> if JS is disabled in this case? > If JS is disabled, then the children are rendered and this code path is not used > > LayoutTests/accessibility/noscript-ignored.html:8 > > +<canvas width="200" height="100" id="canvas"><noscript><img id='hidden-image' src='resources/cake.png'></noscript></canvas> > > Can we test the JS-disabled case too? > > Does noscript work with anything other than canvas? (fairly sure the answer is yes). You've special cased canvas; do you need to do that for anything else? Right now, canvas is the only element that we're adding non-rendered children for (so we can implement the accessible shadow DOM for cavnii). So this problem won't occur for other examples yet (like WebGL maybe)
(In reply to comment #11) > (From update of attachment 209373 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=209373&action=review > > > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2873 > > + // Add the unrendered canvas children as AX nodes, unless we're not using a canvas renderer > > + // because JS is disabled for example. > > + if (!node() || !node()->hasTagName(canvasTag) || (renderer() && !renderer()->isCanvas())) > > Will we still get the <noscript> if JS is disabled in this case? > > > LayoutTests/accessibility/noscript-ignored.html:8 > > +<canvas width="200" height="100" id="canvas"><noscript><img id='hidden-image' src='resources/cake.png'></noscript></canvas> > > Can we test the JS-disabled case too? Does anyone know how to make a JS disable layout test (we're you'd still need to use JS to access the AX tree?) > > Does noscript work with anything other than canvas? (fairly sure the answer is yes). You've special cased canvas; do you need to do that for anything else?
(In reply to comment #13) > (In reply to comment #11) > > > LayoutTests/accessibility/noscript-ignored.html:8 > > > +<canvas width="200" height="100" id="canvas"><noscript><img id='hidden-image' src='resources/cake.png'></noscript></canvas> > > > > Can we test the JS-disabled case too? > > Does anyone know how to make a JS disable layout test (we're you'd still need to use JS to access the AX tree?) Heh, probably not.
http://trac.webkit.org/changeset/154710