Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-15847] Android: "Make Announcement" in Accessibility feature does not work

GitHub Issuen/a
TypeBug
PriorityLow
StatusOpen
ResolutionUnresolved
Affected Version/sRelease 3.2.0
Fix Version/sn/a
ComponentsAndroid
Labelsqe-3.2.0, reprod
ReporterPragya Rastogi
AssigneeUnknown
Created2013-11-28T10:32:34.000+0000
Updated2018-02-28T20:03:22.000+0000

Description

Works fine on iOS when a small delay is added in code but does not work for android 1. Create application with talk Back/Voice Over enabled using app.js attached. 2. On events window double click on button ""Make announcement". Actual: Clicking "Make announcement" speaks "make announcement" and on double clicking it does not speak "Please stand by for an urgent message from the Department of Home Land Security." Expected: " Please stand by for an urgent message from the Department of Home Land Security." must be spoken
var tabGroup = Ti.UI.createTabGroup({orientationModes: [Ti.UI.PORTRAIT]}),

winEvents = Ti.UI.createWindow({
	title: "Events",
	layout: "vertical",
	backgroundColor: "#fff"
}),

tabEvents = Ti.UI.createTab({
	window: winEvents,
	title: winEvents.title
}),
announceButton = Ti.UI.createButton({
	top: 16, width: 8 * 30, height: 48,
	title: "Make announcement"
}),

eventLog = Ti.UI.createLabel({
	top: 16, left: 32, right: 32,
	//height: 48 * 5,
	verticalAlign: Ti.UI.TEXT_VERTICAL_ALIGNMENT_TOP,
	accessibilityHidden: true,
	accessibilityLabel: "My special label.",
    accessibilityValue: "No value.",
    accessibilityHint: "No action",
}),
versionParts = Ti.Platform.version.split("."),
isJellyBeanOrBetter = (parseInt(versionParts[0] > 4) ||
					   (parseInt(versionParts[0]) == 4 && parseInt(versionParts[1]) > 0));



announceButton.addEventListener("click", function() {
	setTimeout(function(){
        Ti.App.fireSystemEvent(Ti.App.EVENT_ACCESSIBILITY_ANNOUNCEMENT,
                           "Please stand by for an urgent message from the Department of Home Land Security.");
    },500);
});

Ti.App.addEventListener(Ti.App.EVENT_ACCESSIBILITY_CHANGED, function(e) {
	eventLog.text += "\nAccessibility state changed: " + (e.enabled ? "it is now enabled." : "it is now disabled.");
});


winEvents.add(announceButton);
winEvents.add(eventLog);

tabGroup.addTab(tabEvents);
tabGroup.open();

Comments

  1. Pragya Rastogi 2013-11-29

    Hey Ingo, It wasn't working for me for SDK:3.1.3.GA as well so it should not be regression.
  2. Pragya Rastogi 2014-01-29

    Works fine for Galaxy Nexus 4.1.1 but does not work for device HTC Desire V (v4.0.3) using below config: OS: Mountain Lion 10.8 Appcelerator Studio: 3.2.1.201401241158 SDK: 3.2.1.v20140128171647 Xcode: 5.0 acs:1.0.12 alloy:1.3.1-beta4 jake:0.7.6 npm:1.3.2 node: 0.10.13 titanium:3.2.1-beta3 titanium-code-processor:1.1.0 Device: Galaxy Nexus 4.1.1
  3. Lee Morris 2017-07-13

    I am able to reproduce this issue with the following environment; Pixel (7.1) Studio 4.9.0.201705302345 Ti SDK 6.1.1 GA Appc NPM 4.2.9 Appc CLI 6.2.2 Ti CLI 5.0.14 Alloy 1.9.11 Xcode 8.2 (8C38) Node v4.8.2 Java 1.8.0_131

JSON Source