Accessibility - Android Talkback doesn't fire focus event on HTML content

I'm trying to execute/receive a onfocus HTML event using Talkback on an Android Device (Moto G Android 4.4.3) on an HTML page while selecting an input field.

I created on single input text with an onfocus event : this event never get called when using "touch explorer" with talkback. When I select/hover it with Talkback there is a little outline over my field it but it's not the HTML :focus state :

<input type="text" id="myInput" onfocus="focusFunction()" onblur="blurFunction()">

See this fiddle for an example : https://jsfiddle.net/hpgqmz7f/embedded/result/

On IOS + VoiceOver or [email protected] + NVDA, the focus event is called without problem..

Thanks for the help

edit: this page show that with assistive technology, Talkback should trigger a focus on 1st tap

Answers:

Answer

Mobile screen readers (VoiceOver and TalkBack) that are designed to be used with touch screens, introduce a special type of "accessibility focus". This focus is tracked only by the Assistive Tech. The AT tracks this focus separately from other types of focus you're use to in Web Development vernacular. It is this type of focus that gets shifted after a single tap, called touch to explore. Both major mobile screen readers support a touch to explore mode. This is why your text field onFocus event is not firing. It hasn't received focus yet. It has received "Accessibility Focus" and after the user double taps, it should receive a tap event, which then should cause the normal focus events to fire.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.