[TIMOB-11463] Android: Accessibility: TableViewRow: Accessibility LVH are not spoken for TableViewRow, also Accessibility Hidden does not work on Android JellyBean
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2014-08-15T17:38:06.000+0000 |
Affected Version/s | Release 3.0.0 |
Fix Version/s | Release 3.0.0, Release 3.1.0, 2012 Sprint 23 Core, 2012 Sprint 23 |
Components | Android |
Labels | core, module_accessibility, qe-and100112, qe-manualtest, qe-nfc |
Reporter | Neha Chhabra |
Assignee | Bill Dawson |
Created | 2012-10-13T11:24:15.000+0000 |
Updated | 2014-08-15T17:38:06.000+0000 |
Description
Accessibility LVH are not spoken for TableViewRow, also Accessibility Hidden does not work
Steps To Reproduce:
1. Install and launch the app on device with Talk back enabled.
2. Touch the second row, Row2
3. Touch the fifth row, Row5
Expected Result:
After Step 2: The Accessibility LVH values should speak
After Step 3: The AccessibilityHidden should work.
Actual Result:
After Step 2: The Accessibility LVH values are not spoken
After Step 3: The AccessibilityHidden does not work.
app.js
var win = Ti.UI.createWindow({
title : 'Welcome',
backgroundColor: "#fff"
});
var row1=Ti.UI.createTableViewRow({
title:'Row 1',
hasChild:true,
});
var row2=Ti.UI.createTableViewRow({
title:'Row 2',
hasCheck:true,
accessibilityLabel: 'Second Option',
accessibilityValue: 'Checked',
accessibilityHint: 'The cheked sign on right'
});
var row3=Ti.UI.createTableViewRow({
title:'Row 3',
hasDetail:true,
accessibilityValue: 'Row 3 Value',
accessibilityLabel: 'Third Option',
accessibilityHint: 'The Details icon on right'
});
var row4=Ti.UI.createTableViewRow({
//title:'Row 4',
backgroundImage : '/images/topRow.png',
selectedBackgroundImage : '/images/topRowSelected.png',
leftImage : "/images/imageA.png",
accessibilityValue: 'Row 4 value',
accessibilityLabel: 'Fourth Row',
accessibilityHint: 'Row with images'
});
var row5=Ti.UI.createTableViewRow({
title:'Row 5',
accessibilityValue: 'Row 5 value',
accessibilityLabel: 'Fifth Row',
accessibilityHidden:true
});
var data = [row1,row2,row3,row4,row5];
var table=Ti.UI.createTableView({data:data});
win.add(table);
win.open();
Attachments
File | Date | Size |
---|---|---|
images.zip | 2012-10-13T11:24:15.000+0000 | 10743 |
I confirm the problem. Investigating...
To the Platform engineer who will test the PR:
"LVH" stands for accessibilityLabel, accessibilityValue and accessibilityHint properties.
It's easiest to test this on ICS or JB with TalkBack on.
Master merged, we'll now do the 3_0_X PR.
The master pull request was: https://github.com/appcelerator/titanium_mobile/pull/3242 The 3_0_X pull request is now ready at: https://github.com/appcelerator/titanium_mobile/pull/3264
Verified with: Titanium Studio: 3.0.0.201210220122 Titanium SDK: 3.0.0.v20121019153308 Device: Galaxy Nexus(4.0.4) LVH is read out fine but when AccessibilityHidden is True,it still reads out the value of LVH.The issue does not happens on Android Jelly Bean
The accessibilityHidden property only works on API 16 (JellyBean) and above. We have this documented in the docs as well (under the view element).
Verified on: Titanium Studio: 3.0.0.201211301903 Titanium SDK:3.0.0.v20121204181658, 3.1.0.v20121205174335 Android Device: Nexus 7 (v4.1), HTC Desire V (v4.0.3)