-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
[BITV] Lazy loading is not accessible #33844
Comments
as soon as we know how to do it (ex: pagination) we can at least do it for comments and versions for file list it is going to be tricky due to legacy jquery code |
maybe we can check how other solutions are doing it that deal with file lists |
So, to add more on this, a proper lazy loading should be accessible if tabbing or keyboard arrow-down focuses the next row. Best of both worlds +1 |
But what kind of accessibility are we talking here? Screen readers should just state:
|
as far as I remember it goes further than that: on table elements you can set aria attributes that have the screen reader announce how many entries there are in the table (or it might be automatic) with lazy loading it would only say that there are 20 rows but actually there's more and with pagination implemented, there are also ways IIRC where you can have the screen reader tell you that there's pagination and that you're on page X of Y, and possibly some allow you to jump directly to specific pages or to the pagination controls |
But we can trick the screen reader into that. Screen readers can also read whatever we want them to :) |
let's split the topics: for versions and comments we currently don't paginate nor lazy load but also it's seldom that there's more than one page of entries there |
note: we need to keep the "table" element for the file list, otherwise a lot of code and apps will break so we need to research how to make the table/listing/pagination accessible with the current structure |
We can use role=table. |
to clarify: for the files 2 vue project, we can switch to whatever we need. for stable25 accessibility we need to keep the table with minimal changes to make it pass certification in regards to pagination |
I've researched around for the possible solution. We have 1 main requirement: content in a
There are some requirements for accessible infinity scrolling:
Links: The whole content is inside of the |
So, let me take a step back. The real dilemma is about virtual scrolling. EDIT: this is for 26 only, the question and complexity level dilemma for 25 remains |
As known we are using a Open questions:
@michaelnissenbaum could you please help us with this questions? Thanks a lot! |
Update: it is important to keep infinite scrolling and it is not possible to change the code to pagination (would be a large breaking change). Only small fixes or adjustments could be done in this point.
|
@JuliaKirschenheuter |
Thank you @michaelnissenbaum!
Thanks again! |
Quick comment from me. I don't think we should fully switch to pagination for everyone. Endless scrolling is so much nicer and expected nowadays. I hope there is some option to do endless scrolling and also be accessible. Paging is soooo 90s internet ;-) |
@JuliaKirschenheuter I'm not saying that lazy loading isn't accessible, but it's not optimal for users with certain limitations. As I've already written, my first suggestion is to use the aria-describedby attribute to inform users that the table is expandable. Second, you could include a filter area (accordion element) above the table where users could reduce the number of table rows. For activities, for example, filters for tag, month, year, file type, added, deleted, etc. could be used. |
To drop infinity scrolling was never my intention. But make an accessible existing solution 👍 |
I think this issue can be closed for now. Will reopen it if will be relevant. |
"Lazy loading not accessible as you can not move very far to the past quickly. Pagination would be much better here"
To discuss how this applies to:
The text was updated successfully, but these errors were encountered: