Bug 139454

Summary: AX: [ATK] MathML tokens with text fail to expose their text content via AtkText
Product: WebKit Reporter: Joanmarie Diggs <jdiggs>
Component: AccessibilityAssignee: Joanmarie Diggs <jdiggs>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, buildbot, cfleizach, commit-queue, dmazzoni, fred.wang, jcraig, mario, rniwa, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: Linux   
Attachments:
Description Flags
Patch
none
Patch
none
Archive of layout-test-results from webkit-cq-01 for mac-mountainlion
none
Patch
none
Archive of layout-test-results from ews101 for mac-mountainlion
none
Archive of layout-test-results from ews107 for mac-mountainlion-wk2
none
Patch none

Description Joanmarie Diggs 2014-12-09 11:20:23 PST
MathML tokens with text fail to expose their text content via AtkText.
Comment 1 Radar WebKit Bug Importer 2014-12-09 11:20:40 PST
<rdar://problem/19192851>
Comment 2 Joanmarie Diggs 2014-12-09 11:28:50 PST
Created attachment 242946 [details]
Patch
Comment 3 chris fleizach 2014-12-09 16:05:28 PST
Comment on attachment 242946 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=242946&action=review

> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:641
> +    if (is<RenderMathMLOperator>(*m_renderer) && !m_renderer->isAnonymous())

do we have ever have an anonymous MLOperator?
Comment 4 Joanmarie Diggs 2014-12-09 23:20:52 PST
(In reply to comment #3)
> Comment on attachment 242946 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=242946&action=review
> 
> > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:641
> > +    if (is<RenderMathMLOperator>(*m_renderer) && !m_renderer->isAnonymous())
> 
> do we have ever have an anonymous MLOperator?

Sadly, yes. It turns out that they get created for the open, close, and separators of an mfenced. Thus this:

    <math>
        <mfenced open="(" close=")" separators=",">
            <mi>x</mi><mi>y</mi>
        </mfenced>  
    </math>

Results in:

      RenderMathMLMath {math} at (0,0) size 56x16 [padding: 0 1 0 1]
        RenderMathMLFenced {mfenced} at (1,0) size 54x16
          RenderMathMLOperator (anonymous) at (0,0) size 14x16
            RenderMathMLBlock (anonymous, flex) at (0,0) size 6x16
              RenderBlock (anonymous) at (0,0) size 6x16
                RenderText at (0,-45) size 6x106
                  text run at (0,-45) width 6: "("
          RenderMathMLToken {mi} at (14,5) size 10x8 [padding: 0 2 0 0]
            RenderMathMLBlock (anonymous, flex) at (0,0) size 8x8
              RenderBlock (anonymous) at (0,0) size 8x8
                RenderText {#text} at (0,-50) size 8x106
                  text run at (0,-50) width 8: "x"
          RenderMathMLOperator (anonymous) at (23,10) size 8x6
            RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
              RenderBlock (anonymous) at (0,0) size 4x6
                RenderText at (0,-55) size 4x106
                  text run at (0,-55) width 4: ","
          RenderMathMLToken {mi} at (30,5) size 10x11 [padding: 0 2 0 0]
            RenderMathMLBlock (anonymous, flex) at (0,0) size 8x11
              RenderBlock (anonymous) at (0,0) size 8x11
                RenderText {#text} at (0,-50) size 8x106
                  text run at (0,-50) width 8: "y"
          RenderMathMLOperator (anonymous) at (39,0) size 15x16
            RenderMathMLBlock (anonymous, flex) at (0,0) size 6x16
              RenderBlock (anonymous) at (0,0) size 6x16
                RenderText at (0,-45) size 6x106
                  text run at (0,-45) width 6: ")"

And while we do need to expose that text, I've not yet sorted out how best to do it.

On a different note, would the regression test I made be relevant to, and work more or less in the same fashion for, OS X? I'm afraid I'm traveling and won't have access to my Mac for another week. And using EWS spit-up as a way to get the results for your platform seems rather spammy. :-/
Comment 5 chris fleizach 2014-12-09 23:37:26 PST
Comment on attachment 242946 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=242946&action=review

>>> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:641
>>> +    if (is<RenderMathMLOperator>(*m_renderer) && !m_renderer->isAnonymous())
>> 
>> do we have ever have an anonymous MLOperator?
> 
> Sadly, yes. It turns out that they get created for the open, close, and separators of an mfenced. Thus this:
> 
>     <math>
>         <mfenced open="(" close=")" separators=",">
>             <mi>x</mi><mi>y</mi>
>         </mfenced>  
>     </math>
> 
> Results in:
> 
>       RenderMathMLMath {math} at (0,0) size 56x16 [padding: 0 1 0 1]
>         RenderMathMLFenced {mfenced} at (1,0) size 54x16
>           RenderMathMLOperator (anonymous) at (0,0) size 14x16
>             RenderMathMLBlock (anonymous, flex) at (0,0) size 6x16
>               RenderBlock (anonymous) at (0,0) size 6x16
>                 RenderText at (0,-45) size 6x106
>                   text run at (0,-45) width 6: "("
>           RenderMathMLToken {mi} at (14,5) size 10x8 [padding: 0 2 0 0]
>             RenderMathMLBlock (anonymous, flex) at (0,0) size 8x8
>               RenderBlock (anonymous) at (0,0) size 8x8
>                 RenderText {#text} at (0,-50) size 8x106
>                   text run at (0,-50) width 8: "x"
>           RenderMathMLOperator (anonymous) at (23,10) size 8x6
>             RenderMathMLBlock (anonymous, flex) at (0,0) size 4x6
>               RenderBlock (anonymous) at (0,0) size 4x6
>                 RenderText at (0,-55) size 4x106
>                   text run at (0,-55) width 4: ","
>           RenderMathMLToken {mi} at (30,5) size 10x11 [padding: 0 2 0 0]
>             RenderMathMLBlock (anonymous, flex) at (0,0) size 8x11
>               RenderBlock (anonymous) at (0,0) size 8x11
>                 RenderText {#text} at (0,-50) size 8x106
>                   text run at (0,-50) width 8: "y"
>           RenderMathMLOperator (anonymous) at (39,0) size 15x16
>             RenderMathMLBlock (anonymous, flex) at (0,0) size 6x16
>               RenderBlock (anonymous) at (0,0) size 6x16
>                 RenderText at (0,-45) size 6x106
>                   text run at (0,-45) width 6: ")"
> 
> And while we do need to expose that text, I've not yet sorted out how best to do it.
> 
> On a different note, would the regression test I made be relevant to, and work more or less in the same fashion for, OS X? I'm afraid I'm traveling and won't have access to my Mac for another week. And using EWS spit-up as a way to get the results for your platform seems rather spammy. :-/

test seems like it would work for OS X too

> LayoutTests/platform/gtk/accessibility/math-text.html:19
> +    if (elem)

i would remove the if (elem) here
if we try to access an invalid element at this point, we should know about it with a failure

> LayoutTests/platform/gtk/accessibility/math-text.html:24
> +    var testCount= 5;

space needed between testCount=
Comment 6 Joanmarie Diggs 2014-12-10 00:30:11 PST
Created attachment 242993 [details]
Patch
Comment 7 WebKit Commit Bot 2014-12-10 01:32:54 PST
Comment on attachment 242993 [details]
Patch

Rejecting attachment 242993 [details] from commit-queue.

New failing tests:
accessibility/math-text.html
Full output: http://webkit-queues.appspot.com/results/5804141385351168
Comment 8 WebKit Commit Bot 2014-12-10 01:32:57 PST
Created attachment 243000 [details]
Archive of layout-test-results from webkit-cq-01 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the commit-queue.
Bot: webkit-cq-01  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 9 Joanmarie Diggs 2014-12-10 07:53:01 PST
Created attachment 243021 [details]
Patch
Comment 10 Joanmarie Diggs 2014-12-10 07:54:23 PST
Comment on attachment 243021 [details]
Patch

After the last mac-results EWS spit-up, I found a Mac Mini in the office. With any luck, this should be spit-up free.
Comment 11 Build Bot 2014-12-10 08:12:16 PST
Comment on attachment 243021 [details]
Patch

Attachment 243021 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5880291893706752

New failing tests:
accessibility/math-text.html
Comment 12 Build Bot 2014-12-10 08:12:20 PST
Created attachment 243022 [details]
Archive of layout-test-results from ews101 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 13 Joanmarie Diggs 2014-12-10 08:17:30 PST
Chris: Could you please tell me what it is I need to do to make your platform's bots happy? Sorry and thank you in advance.
Comment 14 Build Bot 2014-12-10 08:41:38 PST
Comment on attachment 243021 [details]
Patch

Attachment 243021 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5138305154809856

New failing tests:
accessibility/math-text.html
Comment 15 Build Bot 2014-12-10 08:41:41 PST
Created attachment 243027 [details]
Archive of layout-test-results from ews107 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 16 chris fleizach 2014-12-10 08:56:57 PST
(In reply to comment #13)
> Chris: Could you please tell me what it is I need to do to make your
> platform's bots happy? Sorry and thank you in advance.

I'm not sure. It looks like the result is in your patch, but the bots are still complaining

Regressions: Unexpected missing results (1)
  accessibility/math-text.html [ Missing ]

Maybe it's a bot error applying that new file? you are able to run locally successfully right?
Comment 17 Joanmarie Diggs 2014-12-10 09:51:07 PST
(In reply to comment #16)
> (In reply to comment #13)
> > Chris: Could you please tell me what it is I need to do to make your
> > platform's bots happy? Sorry and thank you in advance.
> 
> I'm not sure. It looks like the result is in your patch, but the bots are
> still complaining
> 
> Regressions: Unexpected missing results (1)
>   accessibility/math-text.html [ Missing ]
> 
> Maybe it's a bot error applying that new file? you are able to run locally
> successfully right?

Right. But it looks like I moved them to the wrong place (no accessibility in the platform paths). I really need some sleep.... :-/ I'll do yet another patch. Clearly don't bother reviewing until I find my brains (and then r?).....
Comment 18 Joanmarie Diggs 2014-12-10 09:58:03 PST
Created attachment 243038 [details]
Patch
Comment 19 Joanmarie Diggs 2014-12-10 10:28:24 PST
Comment on attachment 243038 [details]
Patch

Fin.All.Y. Chris please review this one. Thank you again.
Comment 20 WebKit Commit Bot 2014-12-10 11:56:55 PST
Comment on attachment 243038 [details]
Patch

Clearing flags on attachment: 243038

Committed r177086: <http://trac.webkit.org/changeset/177086>
Comment 21 WebKit Commit Bot 2014-12-10 11:57:00 PST
All reviewed patches have been landed.  Closing bug.