New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android: accessibility not working correctly when using data-binding #9588
Comments
I made some further investigations: When doing the same data-binding stuff inside thweitem-template of ListView or Repeater, everything works as expected! However, when doing that in RadListView, the issue occurs the same way as described in the beginning of this thread:
So for the first line, the screen reader is reading the correct value of the id property for any item. It makes no difference if all data items are existing in the ObservableArray from the beginning, or if they are loaded asynchronously. When using @nativescript/core < 8.0.0 (so 7.3.0 is the latest working version), the screen reader reads the correct contents for all lines as well when using the latest nativescript-ui-listview (10.0.1). Demo app with more use cases for reproducing this issue: |
@felixkrautschuk In Nativescript Core, there used to be a way to solve expression binding issues.
This way reactivity will be triggered because of value itself (which is set as the first binding) and will also reload expression. |
@dimitrisrk thanks for your feedback. I tried that, but unfortunately this does not have any effect :( |
When commenting this line, the issue does not occur anymore: However, I have not yet figured out yet what exaclty is causing the issue in there. |
…elements (#9673) Android accessibility services automatically announce the text itself as the description (see https://developer.android.com/guide/topics/ui/accessibility/apps#describe-ui-element) If an a11y property is provided, the content description should also be set for TextView elements to keep the support for Labels/Buttons that only have a font icon as text and therefore need to have an accessibilityLabel. Co-authored-by: Nathan Walker <walkerrunpdx@gmail.com> closes #9588
…elements (#9673) Android accessibility services automatically announce the text itself as the description (see https://developer.android.com/guide/topics/ui/accessibility/apps#describe-ui-element) If an a11y property is provided, the content description should also be set for TextView elements to keep the support for Labels/Buttons that only have a font icon as text and therefore need to have an accessibilityLabel. Co-authored-by: Nathan Walker <walkerrunpdx@gmail.com> closes #9588
…elements (#9673) Android accessibility services automatically announce the text itself as the description (see https://developer.android.com/guide/topics/ui/accessibility/apps#describe-ui-element) If an a11y property is provided, the content description should also be set for TextView elements to keep the support for Labels/Buttons that only have a font icon as text and therefore need to have an accessibilityLabel. Co-authored-by: Nathan Walker <walkerrunpdx@gmail.com> closes #9588
…elements (#9673) Android accessibility services automatically announce the text itself as the description (see https://developer.android.com/guide/topics/ui/accessibility/apps#describe-ui-element) If an a11y property is provided, the content description should also be set for TextView elements to keep the support for Labels/Buttons that only have a font icon as text and therefore need to have an accessibilityLabel. Co-authored-by: Nathan Walker <walkerrunpdx@gmail.com> closes #9588
…elements (#9673) Android accessibility services automatically announce the text itself as the description (see https://developer.android.com/guide/topics/ui/accessibility/apps#describe-ui-element) If an a11y property is provided, the content description should also be set for TextView elements to keep the support for Labels/Buttons that only have a font icon as text and therefore need to have an accessibilityLabel. Co-authored-by: Nathan Walker <walkerrunpdx@gmail.com> closes #9588
Environment
Provide version numbers for the following components (information can be retrieved by running
tns info
in your project folder or by inspecting thepackage.json
of the project):Describe the bug
When setting a value of a property in Observable asynchronously, Android's screenreader is not reading that value correctly.
This is my Observable:
The value is updated in navigatingTo event of the page after 50ms (no matter what time I set in the setTimeout call)
This is my layout:
So for the first Label, Google Talkback is reading the value correctly.
But if I do some operation like appending a static string or a conditional expression, Google Talkback is reading the initial value "null" instead of the updated value.
Please note: It is working as expected on iOS using the latest NS dependencies and it was working with NS 7.3.0 on Android as well.
To Reproduce
Open the demo app provided below on Android and use Google Talkback to read the content on the screen.
Expected behavior
When updating a value in a viewmodel, the screenreader the updated value should be correctly readable by the screenreader, like it was working with NS 7.3.0.
Sample project
ns-accessibility-bug.zip
Additional context
none
The text was updated successfully, but these errors were encountered: