[TIMOB-11465] Android: Accessibility: Slider: Accessibility does not work for Slider on Android HoneyComb
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Invalid |
Resolution Date | 2012-12-12T01:43:53.000+0000 |
Affected Version/s | Release 3.0.0 |
Fix Version/s | 2012 Sprint 25, 2012 Sprint 25 Core |
Components | Android |
Labels | core, qe-and100112, qe-nfc |
Reporter | Neha Chhabra |
Assignee | Allen Yeung |
Created | 2012-10-13T11:55:39.000+0000 |
Updated | 2013-11-07T18:31:26.000+0000 |
Description
Accessibility does not work for Slider on android HoneyComb.
Steps To reproduce:
1. Install and launch the app on device with talk Back enabled.
2. Click on second slider.
Expected Result:
The device reads aloud LVH(This is slider2 label , This is slider2 value , This is slider2 hint) followed by 'seek control'.
Actual Result:
The device does not read aloud anything
app.js
var win = Ti.UI.createWindow({
title : 'Welcome',
backgroundColor: "#fff"
});
var slider1 = Titanium.UI.createSlider({
top: 50,
min: 0,
max: 100,
width: '100%',
value: 50
});
var label1 = Ti.UI.createLabel({
text: slider1.value,
width: '100%',
height: 'auto',
top: 30,
left: 0,
textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER
});
slider1.addEventListener('change', function(e) {
label1.text = String.format("%3.1f", e.value);
});
var slider2 = Titanium.UI.createSlider({
top: 150,
min: 0,
max: 100,
width: '100%',
value: 50,
accessibilityLabel: "This is slider2 label",
accessibilityValue: 'This is slider2 value',
accessibilityHint: "This is slider2 hint"
});
var label2 = Ti.UI.createLabel({
text: slider2.value,
width: '100%',
height: 'auto',
top: 130,
left: 0,
textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER
});
slider2.addEventListener('change', function(e) {
label2.text = String.format("%3.1f", e.value);
});
var slider3 = Titanium.UI.createSlider({
bottom: 130,
min: 0,
max: 100,
width: '100%',
value: 50,
accessibilityHint: "This is slider3 hint ",
accessibilityLabel: "This is slider3 label",
accessibilityValue: 'This is slider3 value',
});
var label3 = Ti.UI.createLabel({
text: slider3.value,
width: '100%',
height: 'auto',
bottom: 150,
left: 0,
textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER
});
slider3.addEventListener('change', function(e) {
label3.text = String.format("%3.1f", e.value);
});
var slider4 = Titanium.UI.createSlider({
bottom: 30,
min: 0,
max: 100,
width: '100%',
value: 50,
accessibilityLabel: "This is slider4 label",
accessibilityValue: 'This is slider4 value',
accessibilityHint: "This is slider4 hint",
accessibilityHidden: true
});
var label4 = Ti.UI.createLabel({
text: slider4.value,
width: '100%',
height: 'auto',
bottom: 50,
left: 0,
textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER
});
slider4.addEventListener('change', function(e) {
label4.text = String.format("%3.1f", e.value);
});
win.add(slider1);
win.add(slider2);
win.add(slider3);
win.add(slider4);
win.add(label1);
win.add(label2);
win.add(label3);
win.add(label4);
win.open();
This is works in Honeycomb, but you need to use the eyes free keyboard to trigger the accessibility descriptions. Normally in Honeycomb, you can't really select the slider, so you need the eyes free keyboard to grab focus of it. Please try the following: 1. Download and install the eyes free keyboard https://play.google.com/store/apps/details?id=com.googlecode.eyesfree.inputmethod.latin&hl=en 2. Go to Settings > Language and input > current input method, and select the eyes free keyboard 3. Launch the eyes free keyboard, and make sure you have the 'show d-pad keys' option enabled. (You may need to enable this via the app settings of the eyes free keyboard. 4. Launch the app with the code snippet, and navigate through the different sliders with the virtual d pad You should be able to hear the descriptions accordingly. I'm going to mark this as invalid for now, but please feel free to reopen if you find any problems.
Verified With - SDK - 3.1.0.v20130409124549 Appcelerator Studio - 3.1.0.201304091724 OS - Montain Lion (v10.8.2) Device - Samsung Galaxy Tab (v3.2) Followed the Allen comment and its working correctly. Hence closing this issue.