Test accessibility (talkback) for application - android

I am making my application accessibility compliant. for this providing correct data to the accessibility framework by giving android:contentDescription="your string" in xml.
Also I have Seen the Android Developer guide on Making Applications Accessible for an overview of what steps you need to take to ensure your application works correctly with accessibility services.
Now problem is testing these all in each and every screen taking more time. my app has 30 screens and each time to go to any module will take almost 15-20 mins when talk back is on.
can anyone suggest tool/ better way to test app?

#unof is right, one tool you can use is lint to show you some warnings for missing content description.
I'm also experimenting with the Google Accessibility Test framework, it can help you to automate some of your tests:
https://github.com/google/Accessibility-Test-Framework-for-Android
Besides that also a good advice is to use an emulator that supports talk back, I'm using Genymotion with Gapps installed and is much easier/faster for some cases than using the actual device, if you are going to test multiple gestures, I'll recommend using Genymotion remote control feature:
https://docs.genymotion.com/Content/03_Virtual_Devices/Emulating_sensors_and_features/Remote_control.htm
it's very handy in situations when you need to track your network request while using the two fingers for scroll as accessibility requires.
Still is a manual task you will have to do, so try to tweak it.
Go to the Accessibility settings and increase the speed at which the text is spoken:
http://developer.android.com/design/patterns/accessibility.html#tools
It's also helpful to learn some of the gestures, and to explore the TalkBack settings:
https://support.google.com/accessibility/android/answer/6006589?hl=en
I hope it helps!

Related

How to create an Auto Clicker app which can click on other apps?

I have seen so many apps that provide auto tapping feature. But they don't provide some specific customization so I decided to create a one. I have seen many tutorials that offers auto tapping, but they are supposed to be used in the same app. But I want to create an auto tapping app that can click on other app's View. I am an intermediate java developer but new to Android studio, so I don't know much about Android APIs. Is there any class or package which can provide this feature. For more clearance, I want to do auto tap, when the color at the specific location on screen, (213, 120) for instance, becomes green.
Thanks in advance!
I am not an expert on the subject, I have experience as a BackEnd developer, I am new to the Android world, just like you I am interested in building an app to automate some farming mechanics in Android games with specific behaviors, so I investigated on the subject and the solution you are looking for is the AccessibilityService API, from Android 8.0 (API level 26) it includes several functionalities to make touches without the need for Root, I leave you links with examples of some open source repos that can guide you.
https://developer.android.com/guide/topics/ui/accessibility/service#continued-gestures (Doc)
https://github.com/nestorm001/AutoClicker (Old and abandoned project, but has the functionality of touches)
https://github.com/pylapp/SmoothClicker (A more mature App but need root, it can be helpful to guide you in how to build the UI)
For the detection in the change of the pixel I still do not have a concrete answer, I keep looking, maybe obtaining a dump of the screen every X time and validate the pixels on that is the way but it is still uncertain if it is the way to go.
Something like How to record screen and take screenshots, using Android API?.
I know that you can get a bitmap dump of the screen if you have the activity, but it's not the case, however some class in the following package may be helpful https://developer.android.com/reference/kotlin/android/graphics/package-summary.
I'm currently working in my own implementation, when I have something to show I will gladly share it.

How can I make an Android app compatible with BrailleBack?

I'm looking to make the Android app I work on more accessible, and was wondering if we need to do anything special to make it compatible with services like BrailleBack so it can be used with braille readers like this one:
https://uk.optelec.com/products/abc-640-en-uk-alva-bc640.html
We've already used tools like the accessibility scanner to help us identify changes that can make the app compatible with screen readers. Can anyone recommend any tutorials, etc. that can help us build compatibility with braille readers and services like BrailleBack? Or is it just very similar approach to services like TalkBack, technically speaking?
I've tried looking through Google's developer documentation and accessibility support, but no luck.
https://developer.android.com/guide/topics/ui/accessibility/additional-resources
https://support.google.com/accessibility/android#topic=6007234
It would be great to have an app that is better prepared for visually impaired users. Many thanks :-)
You have actually done everything correctly.
Braille Screens and Readers take the input from a screen reader and turn it into Braille.
BrailleBack interacts with Google TalkBack to turn the output from TalkBack into a format that a Braille Screen / Keyboard can understand.
If you can use the App with TalkBack with no accessibility issues then it should work with BrailleBack.
I am aware that some Apps have issues with scrolling past the first screen using a Braille display.
As far as I am aware this is a bug in BrailleBack but that may be the one area you need to research more as i have never experienced it personally and it is only second hand information colleagues have told me about in the past.

What if I create iOS App User interface just like Android App?

I have created one android app which I am going to port to iOS. Not actually port but I am going to create same app for iOS too. I want to user custom views in iOS and make it look just like Android App User Interface.
Will there be issue while submitting that iOS App to Apple Store?
github.com/dekatotoro/SlideMenuControllerSwift
I am using this library and another thing i am using is
https://s27.postimg.org/etqjld0fn/Screen_Shot_2017_01_02_at_19_18_46.png
Top Bar custom design
Are these two things going to give me problem?
You may encounter problems. While there is a chance you might be able to go through with publishing, there is still a high chance of rejection and a lack of user adoption that would not be conducive to success in the long-run.
Your best bet is to recreate the UI for those views following iOS Human Interface Design Guidelines. These are well-outlined and pretty intuitive.
If you're re-coding it natively as well and following documentation this should actually be easier than trying to make the Android style fit and risking going through re-approval after getting rejected. Better to do it right the first time, so to speak.
You can still technically have a custom design, but keep in mind that 1) Apple is strict with their aesthetic compatibility and 2) iOS users will not want an Android experience, and likely vice versa.
If you are not re-coding in native iOS i.e. Swift/Obj-C, etc., there are other workarounds you can look into for getting the functionality cross-compatible, however those UI incompatibilities will still need to be tweaked across the board to meet Human Interface Guidelines/standards.

How to built a Android Single App Mode

I want to use a Android Phone as a controlling unit for one of my projects.
In this the Smartphone is fixed on the hardware.
Tasks for the smartphone are:
Communication via Bluetooth
Handling User Input (e.g. PIN-Entry)
Turning on/off vibration, led ,...
So I wrote a App which does all the things I want.
Now I want that the Smartphone can only be used for this application.
Maybe you can give me some Ideas how to manage this.
I heard about 'kiosk-mode', could this be a solution.
Another option would be a custom ROM or is it possible to get a 'basic-android' without a launcher an just one single app.
I just want some ideas and usefull suggestions from you:)
If you are using Android version "L" there is a way to do that. It is called Task Locking, however it needs root access.
There is a lot of tutorials on this site. I just don't want to copy-paste it.
Take a look here: http://www.sureshjoshi.com/mobile/android-kiosk-mode-without-root/
Pretty good article about task locking and device ownership. And unlike Evgeniy said, root is not needed.

Android User Interaction

I'm about to start developing my first Android application, I have been reading through the developer documentation, but am unclear on how user interactions are handled.
As a front end developer, I use alot of css/jquery to create rich and interactive user interfaces.
I see that Android has it's own version of stylesheets, which seem pretty straight forward, but I am left wondering how I can replace something like js/jquery. Is it possible to use JQ mobile for native Android apps? Is there a replacement to this? Does android's UI handle this?
I'm a little confused.
Yes, it is still possible to heavily leverage your js/jquery skills and create a solid Android application that provides a rich user interface which is primarily js.
This will obviously depend greatly on what kind of application you're writing however if you own a website that delivers rich web content to end users and you'd like to replicate this in an Android application then you should take a look at webviews. They should support most of what you're trying to do in js or JQuery and it would be a quick process to mock up a test app to see if it meets you needs. I have run into a few quirks when replicating some interactive d3js visualizations which required extra tweaking before working properly on mobile devices.
I expect these minor issues will be ironed out in the next few releases of Android. Kitkat is going to include webviews that are based on Chromium which will include an updated version of the javascript engine. Your best bet is to just test it out, the amount of Java code required for a mock application is quite minimal.

Categories

Resources