Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-11424] iOS: Accessibility: Picker: Accessibility does not work for Picker on iOS

GitHub Issuen/a
TypeBug
PriorityLow
StatusReopened
ResolutionUnresolved
Affected Version/sRelease 3.0.0
Fix Version/sn/a
ComponentsiOS
Labelsqe-ios100112, qe-nfc
ReporterSatyam Sekhri
AssigneeUnknown
Created2012-10-12T14:17:41.000+0000
Updated2018-02-28T20:03:12.000+0000

Description

The accessibility does not work for Picker. The Label, Value or Hint are not voiced over. Though the Accessibility Hidden works as Picker with AccessibilityHidden as True does not voice over the default text as well. This works fine on Android Steps To Reproduce: 1. Open the application below with voice over ON 2. Touch the first Picker 3. Touch the second Picker Actual: After Step 2: The default text is spoken but not the Label, Value and Hint defined After Step 3: Nothing is spoken, not even the default text Expected: After Step 2: The Label Value and Hint should be spoken by the device
var win = Ti.UI.createWindow({
    title : 'Welcome',
    backgroundColor: "#fff"
});
     
        
         
        var data = [];
        data[0]=Ti.UI.createPickerRow({title:'Bananas'});
        data[1]=Ti.UI.createPickerRow({title:'Strawberries'});
        data[2]=Ti.UI.createPickerRow({title:'Mangos'});
        data[3]=Ti.UI.createPickerRow({title:'Grapes'});
         
        var picker2 = Ti.UI.createPicker({
          top:50,
          accessibilityLabel: "Picker2 label",
          accessibilityValue: "Picker2 value",
          accessibilityHint: "Picker2 hint"
        });
         
       
         
        var picker4 = Ti.UI.createPicker({
          bottom:50,
          accessibilityHint: "Picker4 hint",
          accessibilityLabel: "Picker4 label",
          accessibilityValue: "Picker4 value",
          accessibilityHidden: true
        });
         
        picker2.add(data);
        picker2.selectionIndicator = true;
        
        picker4.add(data);
        picker4.selectionIndicator = true;
         
        
        win.add(picker2);
       
        win.add(picker4);
         
        win.open();
 
 
win.open();

Comments

  1. Max Stepanov 2012-10-14

    Picker control requires accessibility properties to be set on each individual row. E.g {title:'Bananas', accessibilityLabel:"Eat bananas"}
  2. Olga Romero 2013-02-12

    Picker 4 is inactive. There is 4 on the screen , and only 4th is inactive. Tested with: Titanium Studio, build: 3.0.2.201302041757 Titanium SDK, build: 3.0.2.v20130207164659 Devices: iPhone4 iOS 5.1.1 iPad mini iOS 6.0.2
  3. Priya Agarwal 2013-12-02

    Issue still occurs using the test code
       var win = Ti.UI.createWindow({
       	backgroundColor : 'white'
       });
       var picker1 = Ti.UI.createPicker({
       	top : 10,
       	left : 0
       });
       
       var data = [];
       data[0] = Ti.UI.createPickerRow({
       	height : 150,
       	title : 'Bananas',
       	accessibilityLabel : 'Eat Bananas',
       	accessibilityValue : 'Value1',
       	accessibilityHint : 'Double Tap to select Bananas'
       });
       data[1] = Ti.UI.createPickerRow({
       	height : 150,
       	title : 'Strawberries',
       	accessibilityValue : 'Value2',
       	accessibilityLabel : 'Eat Strawberry',
       	accessibilityHint : 'Double Tap to select Strawberry'
       });
       data[2] = Ti.UI.createPickerRow({
       	height : 150,
       	title : 'Mangos'
       });
       data[3] = Ti.UI.createPickerRow({
       	height : 150,
       	title : 'Grapes',
       	accessibilityValue : 'Value3',
       	accessibilityLabel : 'Eat Grapes',
       	accessibilityHint : 'Double Tap to select Grapes',
       	accessibilityHidden : true
       });
       
       var picker2 = Ti.UI.createPicker({
       	top : 200,
       	right : 0,
       	accessibilityLabel : "Picker2 label",
       	accessibilityValue : "Picker2 value",
       	accessibilityHint : "Picker2 hint",
       	useSpinner : true
       
       });
       
       var picker3 = Ti.UI.createPicker({
       	bottom : 200,
       	left : 0,
       	accessibilityHint : "Picker3 hint",
       	accessibilityLabel : "Picker3 label",
       	accessibilityValue : "Picker3 value"
       
       });
       
       var picker4 = Ti.UI.createPicker({
       	bottom : 10,
       	right : 20,
       	accessibilityHint : "Picker4 hint",
       	accessibilityLabel : "Picker4 label",
       	accessibilityValue : "Picker4 value",
       	accessibilityHidden : true
       });
       
       picker1.add(data);
       picker1.selectionIndicator = true;
       picker2.add(data);
       picker2.selectionIndicator = true;
       picker3.add(data);
       picker3.selectionIndicator = true;
       picker4.add(data);
       picker4.selectionIndicator = true;
       
       win.add(picker1);
       win.add(picker2);
       win.add(picker3);
       win.add(picker4);
       
       win.open(); 
       
    Have set accessibility properties on each individual row. Still value and hint is not heard(not spoken). Label is spoken. Tested Environment: Appcelerator Studio: 3.2.0.201311272052 SDK:3.2.0.v20131127194046 alloy: 1.3.0-beta acs: 1.0.9 npm: 1.3.2 titanium: 3.2.0-beta titanium-code-processor: 1.1.0-beta Xcode:5.0.2 OS: Mac OSX 10.9 Device: iphone5(V7.0.4) Hence reopening the issue.

JSON Source