Bug 125855 - [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
Summary: [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2013-12-17 05:04 PST by Krzysztof Czech
Modified: 2014-01-07 03:26 PST (History)
13 users (show)

See Also:


Attachments
patch (14.42 KB, patch)
2013-12-17 05:23 PST, Krzysztof Czech
cfleizach: review-
Details | Formatted Diff | Diff
patch (12.51 KB, patch)
2014-01-02 04:23 PST, Krzysztof Czech
mario: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.