caseyburkhardt / eyes-free

Automatically exported from code.google.com/p/eyes-free
0 stars 2 forks source link

4.4: no "text selection" rectangle in WebView, unreliable speech output #468

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
I'm an app developer, need help with diagnosing Talkback issues on 4.4

My app (email) uses a WebView to display text.

On Android 5+, Talkback explore by touch on WebView content, and speech output 
appear to be working as expected:

- There is a dashed rectangle where I touch text in WebView
- Reliable speech output.
- A DIV with onclick="javascript function" can be highlighted and clicked (the 
javascript runs)

On Android 4.4 with Talkback 4.20 (same version as on the 5.0 device), I get:

- No dashed rectangle where I touch text in WebView
- Unreliable speech output
- A DIV with onclick="javascript function" can't be clicked (no way to run the 
onclick javascript)

What is the expected output? What do you see instead?

I would expect Talkback to provide dashed rectangle focus and speech output on 
Android versions below 5.0, including 4.4.

What version of the product are you using? On what operating system?

Talkback 4.20 on Android 5.0 (works) and Android 4.4 (doesn't).

Please provide any additional information below.

WebView is marked as "focusable" and I've also tried making it 
"focusableInTouchMode", which didn't help.

JavaScript is enabled.

More about the 4.4 device: the battery gets hot (~40C) very quickly.

The explore features as well as speech output works just fine in other apps 
(e.g. launcher, system settings app), and my app's "plain" views such as 
TextView (just not WebView).

WebView / Talkback accessibility on same 4.4 device works just fine in Gmail 
(also uses a WebView).

What can I do to diagnose the issue?

I've tried enabling verbose logging in Talkback settings and saw "JS JSON 
object" failures from "AccessibilityInjector".

I also get these when exploring WebView in Gmail, except speech output works 
there, so I'm not sure if this is a cause for concern.

06-30 22:12:39.020 W/AccessibilityInjector(  347): Error parsing JS JSON object
06-30 22:12:39.020 W/AccessibilityInjector(  347): org.json.JSONException: No 
value for text
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
org.json.JSONObject.get(JSONObject.java:355)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
org.json.JSONObject.getString(JSONObject.java:515)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
com.android.org.chromium.content.browser.accessibility.AccessibilityInjector$Tex
tToSpeechWrapper.braille(AccessibilityInjector.java:451)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native 
Method)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHa
ndler.java:27)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
android.os.Handler.dispatchMessage(Handler.java:102)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
android.os.Looper.loop(Looper.java:146)
06-30 22:12:39.020 W/AccessibilityInjector(  347):  at 
android.os.HandlerThread.run(HandlerThread.java:61)

Original issue reported on code.google.com by kmans...@gmail.com on 30 Jun 2015 at 7:20