Bug 142196

Summary: AX: WebKit does not expose text fields inside tree views.
Product: WebKit Reporter: James Craig <jcraig>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, aestes, apinheiro, bfulgham, buildbot, cfleizach, commit-queue, dmazzoni, gareth.webkit, jdiggs, jeremyj-wk, mario, nanwang1101, rniwa, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
test case
none
fix bug patch
none
Archive of layout-test-results from ews101 for mac-mavericks
none
patch2
none
Archive of layout-test-results from ews103 for mac-mavericks
none
patch3 fix broken test cases
none
patch4 fix code style none

Description James Craig 2015-03-02 16:11:53 PST
Created attachment 247713 [details]
test case

A customer has written in with the attached test case. WebKit does not expose text fields inside tree views.
Comment 1 Radar WebKit Bug Importer 2015-03-02 16:12:10 PST
<rdar://problem/20014295>
Comment 2 Nan Wang 2015-04-21 12:13:22 PDT
Created attachment 251252 [details]
fix bug patch
Comment 3 Build Bot 2015-04-21 13:02:31 PDT
Comment on attachment 251252 [details]
fix bug patch

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

New failing tests:
platform/mac/accessibility/search-predicate.html
Comment 4 Build Bot 2015-04-21 13:02:35 PDT
Created attachment 251258 [details]
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 5 chris fleizach 2015-04-21 18:20:03 PDT
Comment on attachment 251252 [details]
fix bug patch

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

Looks like
accessibility/treeitem-child-exposed.html
is missing from the patch

> Source/WebCore/ChangeLog:6
> +        Reviewed by NOBODY (OOPS!).

can you add a short comment here as to what the bug was and how you fixed it
Comment 6 chris fleizach 2015-04-21 18:21:03 PDT
(In reply to comment #5)
> Comment on attachment 251252 [details]
> fix bug patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=251252&action=review
> 
> Looks like
> accessibility/treeitem-child-exposed.html
> is missing from the patch
> 
> > Source/WebCore/ChangeLog:6
> > +        Reviewed by NOBODY (OOPS!).
> 
> can you add a short comment here as to what the bug was and how you fixed it

Also make sure to run the accessibity tests

./Tools/Scripts/run-webkit-tests --debug accessibility

Thanks!
Comment 7 Nan Wang 2015-04-21 22:28:40 PDT
Created attachment 251302 [details]
patch2
Comment 8 Nan Wang 2015-04-21 22:31:37 PDT
(In reply to comment #6)
> (In reply to comment #5)
> > Comment on attachment 251252 [details]
> > fix bug patch
> > 
> > View in context:
> > https://bugs.webkit.org/attachment.cgi?id=251252&action=review
> > 
> > Looks like
> > accessibility/treeitem-child-exposed.html
> > is missing from the patch
> > 
> > > Source/WebCore/ChangeLog:6
> > > +        Reviewed by NOBODY (OOPS!).
> > 
> > can you add a short comment here as to what the bug was and how you fixed it
> 
> Also make sure to run the accessibity tests
> 
> ./Tools/Scripts/run-webkit-tests --debug accessibility
> 
> Thanks!

Had run the tests, got:
 Expected to fail, but passed: (2)
  platform/mac/accessibility/alt-for-css-content.html
  platform/mac/accessibility/webkit-alt-for-css-content.html

This happened even without my fix, should I worry about it?

Thanks.
Comment 9 Build Bot 2015-04-21 23:03:31 PDT
Comment on attachment 251302 [details]
patch2

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

New failing tests:
platform/mac/accessibility/search-predicate.html
Comment 10 Build Bot 2015-04-21 23:03:36 PDT
Created attachment 251303 [details]
Archive of layout-test-results from ews103 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 11 chris fleizach 2015-04-21 23:04:51 PDT
(In reply to comment #10)
> Created attachment 251303 [details]
> Archive of layout-test-results from ews103 for mac-mavericks
> 
> The attached test failures were seen while running run-webkit-tests on the
> mac-ews.
> Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5

This seems like a real failure this one

 PASS resultElement.role is 'AXRole: AXOutline'
-PASS resultElement.childAtIndex(0).childAtIndex(0).stringValue is 'AXValue: tree item'
+FAIL resultElement.childAtIndex(0).childAtIndex(0).stringValue should be AXValue: tree item. Was AXValue: •.
 PASS resultElement.role is 'AXRole: AXStaticText'
Comment 12 Nan Wang 2015-04-21 23:25:06 PDT
(In reply to comment #11)
> (In reply to comment #10)
> > Created attachment 251303 [details]
> > Archive of layout-test-results from ews103 for mac-mavericks
> > 
> > The attached test failures were seen while running run-webkit-tests on the
> > mac-ews.
> > Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
> 
> This seems like a real failure this one
> 
>  PASS resultElement.role is 'AXRole: AXOutline'
> -PASS resultElement.childAtIndex(0).childAtIndex(0).stringValue is 'AXValue:
> tree item'
> +FAIL resultElement.childAtIndex(0).childAtIndex(0).stringValue should be
> AXValue: tree item. Was AXValue: •.
>  PASS resultElement.role is 'AXRole: AXStaticText'

Since the fix is exposing all children of treeitem, the test is failed because the text is the second child of the treeitem. Can I change the test case to get childAtIndex(1)?

Thanks
Comment 13 chris fleizach 2015-04-21 23:41:56 PDT
(In reply to comment #12)
> (In reply to comment #11)
> > (In reply to comment #10)
> > > Created attachment 251303 [details]
> > > Archive of layout-test-results from ews103 for mac-mavericks
> > > 
> > > The attached test failures were seen while running run-webkit-tests on the
> > > mac-ews.
> > > Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
> > 
> > This seems like a real failure this one
> > 
> >  PASS resultElement.role is 'AXRole: AXOutline'
> > -PASS resultElement.childAtIndex(0).childAtIndex(0).stringValue is 'AXValue:
> > tree item'
> > +FAIL resultElement.childAtIndex(0).childAtIndex(0).stringValue should be
> > AXValue: tree item. Was AXValue: •.
> >  PASS resultElement.role is 'AXRole: AXStaticText'
> 
> Since the fix is exposing all children of treeitem, the test is failed
> because the text is the second child of the treeitem. Can I change the test
> case to get childAtIndex(1)?
>

What is the first child? We want to make sure that the things we're now exposing are children of tree items only. presumably the first child here is a tree item?
 
> Thanks
Comment 14 Nan Wang 2015-04-21 23:44:35 PDT
(In reply to comment #13)
> (In reply to comment #12)
> > (In reply to comment #11)
> > > (In reply to comment #10)
> > > > Created attachment 251303 [details]
> > > > Archive of layout-test-results from ews103 for mac-mavericks
> > > > 
> > > > The attached test failures were seen while running run-webkit-tests on the
> > > > mac-ews.
> > > > Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
> > > 
> > > This seems like a real failure this one
> > > 
> > >  PASS resultElement.role is 'AXRole: AXOutline'
> > > -PASS resultElement.childAtIndex(0).childAtIndex(0).stringValue is 'AXValue:
> > > tree item'
> > > +FAIL resultElement.childAtIndex(0).childAtIndex(0).stringValue should be
> > > AXValue: tree item. Was AXValue: •.
> > >  PASS resultElement.role is 'AXRole: AXStaticText'
> > 
> > Since the fix is exposing all children of treeitem, the test is failed
> > because the text is the second child of the treeitem. Can I change the test
> > case to get childAtIndex(1)?
> >
> 
> What is the first child? We want to make sure that the things we're now
> exposing are children of tree items only. presumably the first child here is
> a tree item?
>  
> > Thanks

The structure is "<ul role="tree"><li role="treeitem">tree item</li></ul>"
so the first child is the list marker, and second child is the static text.

Thanks.
Comment 15 chris fleizach 2015-04-21 23:49:03 PDT
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #12)
> > > (In reply to comment #11)
> > > > (In reply to comment #10)
> > > > > Created attachment 251303 [details]
> > > > > Archive of layout-test-results from ews103 for mac-mavericks
> > > > > 
> > > > > The attached test failures were seen while running run-webkit-tests on the
> > > > > mac-ews.
> > > > > Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
> > > > 
> > > > This seems like a real failure this one
> > > > 
> > > >  PASS resultElement.role is 'AXRole: AXOutline'
> > > > -PASS resultElement.childAtIndex(0).childAtIndex(0).stringValue is 'AXValue:
> > > > tree item'
> > > > +FAIL resultElement.childAtIndex(0).childAtIndex(0).stringValue should be
> > > > AXValue: tree item. Was AXValue: •.
> > > >  PASS resultElement.role is 'AXRole: AXStaticText'
> > > 
> > > Since the fix is exposing all children of treeitem, the test is failed
> > > because the text is the second child of the treeitem. Can I change the test
> > > case to get childAtIndex(1)?
> > >
> > 
> > What is the first child? We want to make sure that the things we're now
> > exposing are children of tree items only. presumably the first child here is
> > a tree item?
> >  
> > > Thanks
> 
> The structure is "<ul role="tree"><li role="treeitem">tree item</li></ul>"
> so the first child is the list marker, and second child is the static text.
> 

Seems reasonable to change that then. thanks

> Thanks.
Comment 16 Nan Wang 2015-04-22 00:09:30 PDT
Created attachment 251304 [details]
patch3 fix broken test cases
Comment 17 WebKit Commit Bot 2015-04-22 00:11:04 PDT
Attachment 251304 [details] did not pass style-queue:


ERROR: LayoutTests/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/WebCore/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 18 Nan Wang 2015-04-22 00:15:39 PDT
Created attachment 251305 [details]
patch4 fix code style
Comment 19 WebKit Commit Bot 2015-04-22 10:37:53 PDT
Comment on attachment 251305 [details]
patch4 fix code style

Clearing flags on attachment: 251305

Committed r183111: <http://trac.webkit.org/changeset/183111>
Comment 20 WebKit Commit Bot 2015-04-22 10:38:00 PDT
All reviewed patches have been landed.  Closing bug.
Comment 22 chris fleizach 2015-04-22 13:43:11 PDT
We should add a test expectation for fail on windows until someone on windows can look at it. I can do this by the EOD if no one else is able to

(In reply to comment #21)
> The new test fails on Windows:
> https://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.
> html#showAllRuns=true&tests=accessibility%2Ftreeitem-child-exposed.html