Bug 138106

Summary: AX: input type=hidden is being exposed when aria-hidden=false
Product: WebKit Reporter: chris fleizach <cfleizach>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, buildbot, commit-queue, dmazzoni, jcraig, jdiggs, mario, rniwa, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch benjamin: review+, benjamin: commit-queue-

Description chris fleizach 2014-10-27 15:00:05 PDT
If someone sticks a input type=hidden inside an aria-hidden=false region, then that will be exposed as a text field

<rdar://problem/18534039>
Comment 1 chris fleizach 2014-10-27 15:47:58 PDT
Created attachment 240509 [details]
patch
Comment 2 Benjamin Poulain 2014-10-27 17:20:18 PDT
Comment on attachment 240509 [details]
patch

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

> LayoutTests/accessibility/input-type-hidden-in-aria-hidden-false.html:21
> +          var content = accessibilityController.accessibleElementById("content");
> +          shouldBe("content.childrenCount", "0");

For coverage I suggest the following:
1) Do not have aria-hidden="false" on #content, test childrenCount
2) Add aria-hidden, test childrenCount
3) Change to aria-hidden=true, test childrenCount
4) Change to aria-hidden=false, test childrenCount

That way all cases of [type=hidden] are covered.

> LayoutTests/accessibility/input-type-hidden-in-aria-hidden-false.html:23
> +          document.getElementById("content").style.visibility = "hidden";

Forgot this?
Comment 3 chris fleizach 2014-10-27 18:17:08 PDT
(In reply to comment #2)
> Comment on attachment 240509 [details]
> patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=240509&action=review
> 
> > LayoutTests/accessibility/input-type-hidden-in-aria-hidden-false.html:21
> > +          var content = accessibilityController.accessibleElementById("content");
> > +          shouldBe("content.childrenCount", "0");
> 
> For coverage I suggest the following:
> 1) Do not have aria-hidden="false" on #content, test childrenCount
> 2) Add aria-hidden, test childrenCount
> 3) Change to aria-hidden=true, test childrenCount
> 4) Change to aria-hidden=false, test childrenCount
> 
> That way all cases of [type=hidden] are covered.
> 
> > LayoutTests/accessibility/input-type-hidden-in-aria-hidden-false.html:23
> > +          document.getElementById("content").style.visibility = "hidden";
> 
> Forgot this?

Thanks! I'll make these changes
Comment 4 chris fleizach 2014-10-27 22:39:09 PDT
http://trac.webkit.org/changeset/175241