{ "id": "89794", "key": "TIMOB-8657", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14126", "description": "Sprint 2012-19 Core", "name": "Sprint 2012-19 Core", "archived": true, "released": true, "releaseDate": "2012-09-24" }, { "id": "14271", "description": "2012 Sprint 19", "name": "2012 Sprint 19", "archived": true, "released": true, "releaseDate": "2012-09-24" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-09-17T17:20:58.000+0000", "created": "2012-04-10T14:33:36.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "SupportTeam", "core", "qe-port" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [ { "id": "16478", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "63742", "key": "TIMOB-3110", "fields": { "summary": "iOS: Support VoiceOver Accessibility ", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2012-10-16T20:07:00.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "{html}

Exactly what the ticket title says. We don't support (any???)\r\naccessibility right now, if additional support for it is necessary.\r\nUnlikely to be a candidate for a module.

{html}", "attachment": [ { "id": "31379", "filename": "timob8657.zip", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-09-17T04:24:51.000+0000", "size": 3129830, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android: Support Accessibility (TalkBack, etc.)", "creator": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "219230", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "h2. Testing Notes\r\n\r\n*NOTE:* These instructions do not teach you how to use TalkBack and Explore-by-touch! Please learn how to use TalkBack _before_ running these tests. (Settings -> Accessibility -> TalkBack.) On Jelly Bean there is an explore-by-touch tutorial on the TalkBack settings screen. I'm not sure if it's there on ICS. If it's there, use it.\r\n\r\nh3. Test for regressions when accessibility is OFF.\r\n\r\n* Turn off any accessibility services that may be turned on on your device.\r\n\r\n* Download the attached ZIP and unzip it -- it contains a Titanium project.\r\n\r\n* Import that project into Titanium Studio.\r\n\r\n* Run the app on an Android device.\r\n\r\n* Go through the two tabs in the app. Make sure nothing is broken (note: the buttons don't show anything when you click them -- just be sure nothing causes a crash.)\r\n\r\n* On the second tab, \"Events\", make sure the label says that accessibility is disabled.\r\n\r\n* Back out of the app.\r\n\r\nh3. Test Accessibility\r\n\r\nPreferably start with a Jelly Bean device, but if that's not available then an ICS device. In the case of an ICS device, one of the tests won't be available. In the case of older devices, other tests won't be available. The availability (or lack thereof) is mentioned below on a per-test basis.\r\n\r\n* Turn on TalkBack and -- if available -- explore-by-touch.\r\n\r\n* Run the app again.\r\n\r\n* On the View Properties tab, select (without clicking) the Basic button. No accessibility properties are set on this button (thus \"Basic\"), so TalkBack will simply do whatever it does by default, which is likely to say \"Basic. Button.\".\r\n\r\n* Now select (without clicking) the \"Different\" button. This button has its accessibilityLabel property set so as to override the default text that would otherwise be read aloud by TalkBack. Instead of just saying \"Different. Button.\" it should say \"This has different text for accessibility. Button.\"\r\n\r\n* Now select the switch (which Android will call a \"checkbox\"). It has three accessibility properties set: accessibilityLabel, accessibilityValue and accessibilityHint. These will be combined, and TalkBack should say, \"My special switch. Off. Double tap to turn on.\" (Android will then insist on tacking on, \"Checkbox. Not checked.\")\r\n\r\n* Now switch to the \"Events\" tab.\r\n\r\n* Select and click (in touch-by-explore this means double-tapping) the \"Make announcement\" button. You should hear an announcement, \"Please stand by for an urgent message from the Department of Homeland Security.\"\r\n\r\n* Read the label field. Its text will be different depending on version. Make sure it includes the text \"Accessibility is enabled.\"\r\n\r\n* If you are on Jelly Bean, try to select (with explore-by-touch) the label. It should not be possible, since the accessibilityHidden property is set to `true`. This property has no effect in earlier versions.\r\n\r\n* If you are on ICS or higher, now keep the app running (do not back out) and go back to Settings and disable all accessibility services (i.e., TalkBack). Be sure accessibility services beyond TalkBack -- such as QueryBack -- are also off.\r\n\r\n* Switch back to the app. The label should now include \"Accessibility state changed: it is now disabled.\" (REMEMBER: this only occurs on ICS or higher.)\r\n\r\n* Switch back to accessibility settings and re-enable TalkBack.\r\n\r\n* Switch back to the app. The label should now include \"Accessibility state changed: it is now enabled.\"\r\n\r\nh3. Summary\r\n\r\nIn these tests we've covered every new accessibility-related Titanium API point available in Android as follows:\r\n\r\n* View.accessibilityLabel - available on all Android versions. In the test app, it is used on the \"Different\" button and on the switch.\r\n\r\n* View.accessibilityValue - available on all Android versions. In the test app, it is used on the switch.\r\n\r\n* View.accessibilityHint - available on all Android versions. In the test app, it is used on the switch.\r\n\r\n* Ti.App.fireSystemEvent(\"accessibilityannouncement\", \"Please stand by...\") - available on all Android versions. In the test app, fired when the \"Make Announcement\" button is clicked.\r\n\r\n* View.accessibilityHidden - available on Jelly Bean or higher. In the test app, it is used on the label on the Events tab.\r\n\r\n* Ti.App.addEventListener(\"accessibilitystatechanged\", ...) - available on ICS or higher. In the test app, the event listener tacks on text to the label on the Events tab when accessibility state changes.\r\n\r\nh3. Test Documents\r\n\r\n* Run {{python apidoc/validate.py -e -s simple}} and make sure there are no errors.", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-09-17T04:23:13.000+0000", "updated": "2012-09-17T05:48:32.000+0000" }, { "id": "223845", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified fix with:\nTitanium Studio, build: 3.0.0.201210090117\nTitanium SDK, build: 3.0.0.v20121015174610\nDevices:\nNexus7 4.1.2", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-16T20:04:42.000+0000", "updated": "2012-10-16T20:04:42.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }