Bug 125855

Summary: [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
Product: WebKit Reporter: Krzysztof Czech <k.czech>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cdumez, cfleizach, commit-queue, dmazzoni, gyuyoung.kim, jcraig, jdiggs, mario, rakuco, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Linux   
Attachments:
Description Flags
patch
cfleizach: review-
patch mario: review+

Description Krzysztof Czech 2013-12-17 05:04:12 PST
Based on w3c, aria-checked mixed can be exposed as a ATK_STATE_INDETERMINATE for radio and checkbox types.
Comment 1 Krzysztof Czech 2013-12-17 05:23:24 PST
Created attachment 219412 [details]
patch
Comment 2 Mario Sanchez Prada 2013-12-17 06:12:30 PST
Comment on attachment 219412 [details]
patch

Thanks for the patch Krzysztof. Could you check if this patch of yours also fixes the issue reported in bug 123889 (see description and the event listener provided by Joanie there) and, if so, resolve one bug as a duplicate of the other?

Also, I think you'd better place the HTML and expected files for this one in LayoutTests/accessibility and add it to the TestExpectations file for the mac (with a comment saying that isIndeterminate() is not implemented there), so we avoid that much duplication.

Thanks!
Comment 3 chris fleizach 2013-12-18 10:44:25 PST
Comment on attachment 219412 [details]
patch

r- for Mario's comments (want to keep the review queue clear)
Comment 4 Krzysztof Czech 2013-12-19 03:15:24 PST
(In reply to comment #2)
> (From update of attachment 219412 [details])
> Thanks for the patch Krzysztof. Could you check if this patch of yours also fixes the issue reported in bug 123889 (see description and the event listener provided by Joanie there) and, if so, resolve one bug as a duplicate of the other?
> 
> Also, I think you'd better place the HTML and expected files for this one in LayoutTests/accessibility and add it to the TestExpectations file for the mac (with a comment saying that isIndeterminate() is not implemented there), so we avoid that much duplication.
> 
> Thanks!

I checked the issue reported in bug 123889. 
WebKitGtk MiniBrowser including my patch produces the fallowing results

[check box | All condiments] has indeterminate state: True
[check box | Lettuce] has indeterminate state: False

The only difference from the expected result is that, it doesn't show two messages:
[check box | All condiments] indeterminate state changed to: False
[check box | All condiments] indeterminate state changed to: True

Those should be produced while changing state of "Lettuce" checkbox.

Events are not propagated properly ?
Comment 5 Mario Sanchez Prada 2013-12-19 03:45:45 PST
(In reply to comment #4)
> [...] 
> I checked the issue reported in bug 123889. 
> WebKitGtk MiniBrowser including my patch produces the fallowing results
> 
> [check box | All condiments] has indeterminate state: True
> [check box | Lettuce] has indeterminate state: False
> 
> The only difference from the expected result is that, it doesn't show two messages:
> [check box | All condiments] indeterminate state changed to: False
> [check box | All condiments] indeterminate state changed to: True
> 
> Those should be produced while changing state of "Lettuce" checkbox.
> 
> Events are not propagated properly ?

I think they might even not being generated, so that's why you don't get those. Which means that there are two bugs: one about the exposure of the state and other one related to exposing the state change.

I think you can work on the first issue as part of this bug (and so I would only ask you to consider moving the test to LayoutTests/accessibility, updating the mac's TestExpectations file), and leave the other issue to be tackled as part of bug 123889.
Comment 6 Radar WebKit Bug Importer 2013-12-20 11:36:21 PST
<rdar://problem/15710141>
Comment 7 Krzysztof Czech 2014-01-02 04:23:11 PST
Created attachment 220218 [details]
patch
Comment 8 Krzysztof Czech 2014-01-02 04:24:03 PST
(In reply to comment #7)
> Created an attachment (id=220218) [details]
> patch
Applied Mario's suggestions
Comment 9 Mario Sanchez Prada 2014-01-07 02:10:22 PST
Comment on attachment 220218 [details]
patch

Thanks for the patch, Krzysztof. It looks good to me although I just realized you need to provide empty functions for the win and the ios ports too, and add the new test to win/TestExpectations.

Setting r+ now, but please consider those two things before landing.
Comment 10 Krzysztof Czech 2014-01-07 03:25:14 PST
Committed r161417: <http://trac.webkit.org/changeset/161417>
Comment 11 Krzysztof Czech 2014-01-07 03:26:49 PST
(In reply to comment #9)
> (From update of attachment 220218 [details])
> Thanks for the patch, Krzysztof. It looks good to me although I just realized you need to provide empty functions for the win and the ios ports too, and add the new test to win/TestExpectations.
> 
> Setting r+ now, but please consider those two things before landing.
Thanks Mario, applied suggestions.