Bug 147881

Summary: AX: VoiceOver/Safari does not allow focus on specific "empty links" (with  )
Product: WebKit Reporter: Patrick H. Lauke <redux>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: cfleizach, heydon, jcraig, tink, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: iPhone / iPad   
OS: iOS 9.3   
Attachments:
Description Flags
Variations of links/spans with different attributes to test focusability none

Description Patrick H. Lauke 2015-08-11 08:56:42 PDT
Created attachment 258718 [details]
Variations of links/spans with different attributes to test focusability

While VoiceOver/iOS (8.4) allows user to focus on

<a href="#"></a>
<a href="#" title="Close"></a>

adding a &nbsp; makes VO ignore these links completely.

<a href="#">&nbsp;</a>
<a href="#" title="Close">&nbsp;</a>

Of course, these are arguably inaccessible controls to begin with, but the fact that the first examples without &nbsp; do receive focus would suggest that the links with &nbsp; should in fact also receive focus.
Comment 1 Patrick H. Lauke 2015-08-13 04:39:24 PDT
Just to confirm this behavior is also still present in iOS 9 current seed build
Comment 2 Patrick H. Lauke 2015-08-14 03:38:57 PDT
To clarify: iOS 9 seed build 13A4325c
Comment 3 Radar WebKit Bug Importer 2015-08-14 03:39:12 PDT
<rdar://problem/22285408>
Comment 4 Patrick H. Lauke 2016-06-10 04:38:51 PDT
To be clear, the expected behavior and solution, at least in my opinion, would be to allow VO to set focus on links that contain a &nbsp; the same way that completely empty links currently do.
Comment 5 Heydon 2016-06-10 04:42:15 PDT
I can corroborate Patrick's findings. In addition, unencoded whitespace and other space encodings like &#x0020; work. This appears to be a bug with &nbsp;.
Comment 6 LĂ©onie Watson 2016-06-10 04:46:19 PDT
Confirmed. From a VO user's perspective this would be a worthwhile thing to fix.
Comment 7 Patrick H. Lauke 2017-10-20 02:46:03 PDT
At least for links, this now seems resolved in iOS11/Safari/VO. 

<a href="#">&nbsp;</a>
<a href="#" title="Close">&nbsp;</a>

now receive VO focus, just the same way that 

<a href="#"></a>
<a href="#" title="Close"></a>

do. There's still an issue where pure spans with tabindex="0", like

<span tabindex="0" title="Close"></span>

don't receive VO focus....but I may file this separately.
Comment 8 chris fleizach 2017-10-20 08:45:46 PDT
(In reply to Patrick H. Lauke from comment #7)
> At least for links, this now seems resolved in iOS11/Safari/VO. 
> 
> <a href="#">&nbsp;</a>
> <a href="#" title="Close">&nbsp;</a>
> 
> now receive VO focus, just the same way that 
> 
> <a href="#"></a>
> <a href="#" title="Close"></a>
> 
> do. There's still an issue where pure spans with tabindex="0", like
> 
> <span tabindex="0" title="Close"></span>

this could be remedied by adding a role="link"

> 
> don't receive VO focus....but I may file this separately.