RESOLVED FIXED 115069
AX: MathML multiscripts not exposed in Accessibility
https://bugs.webkit.org/show_bug.cgi?id=115069
Summary AX: MathML multiscripts not exposed in Accessibility
chris fleizach
Reported 2013-04-23 17:42:36 PDT
Multiscripts allow you to have pre and post (sub and superscript) objects. And any number of them http://www.w3.org/TR/REC-MathML/chap3_4.html#sec3.4.7 Like <mmultiscripts> <mi> F </mi> <mn> 1 </mn> <none/> <mprescripts/> <mn> 0 </mn> </mmultiscripts> These do NOT render correctly in WebKit yet, but we can make them accessible!
Attachments
patch (32.06 KB, patch)
2013-04-23 23:02 PDT, chris fleizach
no flags
patch (32.88 KB, patch)
2013-05-06 22:17 PDT, chris fleizach
buildbot: commit-queue-
patch (32.87 KB, patch)
2013-05-06 22:48 PDT, chris fleizach
buildbot: commit-queue-
patch (32.88 KB, patch)
2013-05-06 23:25 PDT, chris fleizach
buildbot: commit-queue-
patch (32.89 KB, patch)
2013-05-07 09:16 PDT, chris fleizach
thorton: review+
chris fleizach
Comment 1 2013-04-23 17:43:00 PDT
The best plan seems to be to return an array of dictionaries that specify the sub/superscript object
chris fleizach
Comment 2 2013-04-23 17:43:08 PDT
chris fleizach
Comment 3 2013-04-23 23:02:12 PDT
chris fleizach
Comment 4 2013-04-23 23:15:43 PDT
Adding Tim to help with review
Tim Horton
Comment 5 2013-05-03 13:42:00 PDT
Comment on attachment 199389 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=199389&action=review > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3729 > + AccessibilityObject* axChild = axObjectCache()->getOrCreate(child); I'm a bit unclear on how this doesn't go ahead and search tons of irrelevant nodes after the first time it finds an mprescripts. > Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:1490 > +static NSString *_convertMathMultiscriptPairsToString(NSArray *pairs) Drop the leading underscore, we don't do that. > Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:1497 > + index++; This is fine but could use enumerateObjectsUsingBlock instead of manually keeping track of the index.
chris fleizach
Comment 6 2013-05-06 09:13:08 PDT
(In reply to comment #5) > (From update of attachment 199389 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=199389&action=review > > > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3729 > > + AccessibilityObject* axChild = axObjectCache()->getOrCreate(child); > > I'm a bit unclear on how this doesn't go ahead and search tons of irrelevant nodes after the first time it finds an mprescripts. > After it finds the prescript, at that point we want to add the rest of the (first-level children) as accessibility objects (as long as their math elements). This is essentially what we do for every dom/render object in the tree anyway, so it's no different than the rest of the AX structure in this case > > Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:1490 > > +static NSString *_convertMathMultiscriptPairsToString(NSArray *pairs) > > Drop the leading underscore, we don't do that. > > > Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:1497 > > + index++; > > This is fine but could use enumerateObjectsUsingBlock instead of manually keeping track of the index. Will do
chris fleizach
Comment 7 2013-05-06 22:17:25 PDT
Build Bot
Comment 8 2013-05-06 22:30:10 PDT
chris fleizach
Comment 9 2013-05-06 22:48:43 PDT
Build Bot
Comment 10 2013-05-06 23:15:05 PDT
chris fleizach
Comment 11 2013-05-06 23:25:01 PDT
Build Bot
Comment 12 2013-05-06 23:32:03 PDT
Build Bot
Comment 13 2013-05-07 00:06:23 PDT
chris fleizach
Comment 14 2013-05-07 09:16:24 PDT
Tim Horton
Comment 15 2013-06-01 13:32:36 PDT
Comment on attachment 200913 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=200913&action=review ok > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3774 > + postscriptPair.first = postscriptPair.second = 0; We don't do this.
chris fleizach
Comment 16 2013-06-03 12:35:09 PDT
Note You need to log in before you can comment on or make changes to this bug.