Skip to content

BorisLaskov/ComposeA11yBugs

Repository files navigation

Compose accessibility bugs

Pager-related bugs

TalkBack accessibility focus scrolls to the next page too early

HorizontalPager ignores the scrollable state of the parent Column: When we have a scrollable Column with a non-scrollable Pager inside, and we have the last on-screen Pager item focused, TalkBack prefers to scroll the Pager to the next page ignoring the fact that the current page still has some content below. This behavior makes the rest of the content inaccessible. HorizontalPagerFragment

pager_scroll_bug.mp4

Clunky navigation due to absent accessibility focus override mechanisms

Since custom focus order is not supported by Compose, it is impossible to quickly jump out of the HorizontalPager to the segment with tabs - we currently just go to the previous page. This way, we have to necessarily scroll through all the pages back to the first one to reach tabs with categories. This makes navigation clunky, and tabs do not serve their purpose to quickly bring the user to the desired page. It would be nice to have a way to override this behavior with custom focus order. Also, after selecting and clicking on a tab, we have to scroll through all the tabs till the end - maybe it could be better to allow to automatically move the accessibility focus inside the Pager once a tab is selected. And then, when moving backwards, to jump out of the Pager to the active tab. HorizontalPagerFragment

pager_focus_order.mp4

Initial focus bug

When two Fragments have the same topBar (same back button, same text), and we go from one such Fragment to the other one, the TalkBack accessibility focus jumps to the middle of the content. The expected behavior is to always go to the top left corner of the new screen (to the back button) when Fragments are replaced just like it works in every other case when topBars have different buttons and/or texts InitialFocusFragment

initial_element_focus_bug.mp4

WebView scroll bug

When we have a WebView with a longer text, TalkBack does not properly scroll it as the focus goes through next paragraphs of text.

In addition, when the focus reaches the last element, TalkBack reports that there are no more focusable elements on the page. It is wrong - there is a button is the Scaffold. If we ignore its message about no more elements and continue swiping, WebView starts scrolling, and once it scrolls until the end, then TalkBack suddenly picks the previously-invisible button up.

web_view_scroll_bug.mp4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages