Bug 155604 - AX: Radio button members are not identified together in all cases
Summary: AX: Radio button members are not identified together in all cases
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Other
Hardware: All All
: P2 Normal
Assignee: chris fleizach
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-03-17 15:30 PDT by chris fleizach
Modified: 2016-03-20 08:21 PDT (History)
9 users (show)

See Also:


Attachments
patch (10.91 KB, patch)
2016-03-18 11:35 PDT, chris fleizach
no flags Details | Formatted Diff | Diff
patch (10.90 KB, patch)
2016-03-18 11:37 PDT, chris fleizach
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description chris fleizach 2016-03-17 15:30:21 PDT
1. State VoiceOver on an iOS device
2. Open http://wafflerama.com/a11y/cssposition.html
3. Navigate through the page, listening to the output for each of the radio buttons

Expected Results:
In step 3, the two sets of radio buttons should each enumerate as '1 of 3', etc.

Actual Results:
In step 3, the first 3 radio buttons are all announced as "1 of 1". The second set of radio buttons are properly announced as "1 of 3", etc.
Comment 1 chris fleizach 2016-03-17 15:30:35 PDT
<rdar://problem/21186992>
Comment 2 Radar WebKit Bug Importer 2016-03-17 15:31:19 PDT
<rdar://problem/25227435>
Comment 3 chris fleizach 2016-03-18 11:35:36 PDT
Created attachment 274439 [details]
patch
Comment 4 WebKit Commit Bot 2016-03-18 11:36:51 PDT
Attachment 274439 [details] did not pass style-queue:


ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:954:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:955:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:956:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:957:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:958:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:959:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 6 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 5 chris fleizach 2016-03-18 11:37:49 PDT
Created attachment 274440 [details]
patch
Comment 6 Darin Adler 2016-03-18 22:37:50 PDT
Comment on attachment 274440 [details]
patch

The old code is not the right way to find radio buttons. Code to iterate all the radio buttons in a group should not have been replicated in the accessibility code, but instead should be an interface provide by the HTMLInputElement class. We could have a function:

     Vector<HTMLInputElement*> radioButtonGroup() const;

It would get the misnamed CheckedRadioButtons object, then would take the element's name and find the RadioButtonGroup. That has a HashSet of all the radio buttons in that group and that can be converted into a Vector.
Comment 7 chris fleizach 2016-03-20 07:31:39 PDT
(In reply to comment #6)
> Comment on attachment 274440 [details]
> patch
> 
> The old code is not the right way to find radio buttons. Code to iterate all
> the radio buttons in a group should not have been replicated in the
> accessibility code, but instead should be an interface provide by the
> HTMLInputElement class. We could have a function:
> 
>      Vector<HTMLInputElement*> radioButtonGroup() const;
> 
> It would get the misnamed CheckedRadioButtons object, then would take the
> element's name and find the RadioButtonGroup. That has a HashSet of all the
> radio buttons in that group and that can be converted into a Vector.

I'll follow up with a new patch for that

https://bugs.webkit.org/show_bug.cgi?id=155696
Comment 8 WebKit Commit Bot 2016-03-20 08:21:37 PDT
Comment on attachment 274440 [details]
patch

Clearing flags on attachment: 274440

Committed r198474: <http://trac.webkit.org/changeset/198474>
Comment 9 WebKit Commit Bot 2016-03-20 08:21:43 PDT
All reviewed patches have been landed.  Closing bug.