fundamental-ngx
fundamental-ngx copied to clipboard
[P2][SOURCING] For scrollable tables, when focus is moved to cells out of view port, half of focus is visible.
Is this a bug, enhancement, or feature request?
Bug
Describe your proposal.
For scrollable tables, when focus is moved to cells out of view port, half of focus is visible. As soon as focus goes to cells out of view port, table should scroll enough to completely get the focussed cell in the view port.
Can you handle that on the application side
No
Which versions of Angular and Fundamental Library for Angular are affected? Please, specify the exact version. (If this is a feature request, use current version.)
0.43.27
If this is a bug, please provide steps for reproducing it; the exact components you are using;
Go to virtual scroll example: https://sap.github.io/fundamental-ngx/#/platform/table/scrolling Click on a cell inside the table Turn on JAWS for windows or VoiceOver for mac and try navigating to cells half visible in the view port Focus goes to such cells but only half of focus is visible.
Please provide relevant source code (if applicable).
Please provide stackblitz example(s).
In case this is Accessibility related topic, did you consult with an accessibility expert? If not, please do so and share their recommendations.
Did you check the documentation and the API?
Did you search for similar issues?
Is there anything else we should know?
Hi @mikerodonnell89 could you please bump a version for this fix and provide us for verification? cc: @I543348
Reopening because this isn't quite working correctly when using virtual scroll due to the table moving the focus to a different row when it redraws the table. The fix is working as intended for non-virtual scroll tables. Related to #11491
@mikerodonnell89 what happened to that issue?
Hi @mikerodonnell89 , Can you pls provide ETA for final fix ?
I don't think there is a quick solution for this due to our current implementation of virtual scrolling, which works by loading a number of not-yet-visible rows into the DOM and allowing the user to scroll to them. We needed to do this because our scrolling functionality has always scrolled the table by pixel and not by entire row, like ui5. See this issue.
The virtual scroll raises issues when combined with our focusable grid directive, which has some of its own scrolling logic. So using the keyboard to move focus from row to row, scrolls the container, which triggers a virtual scroll, replacing the contents of the cells in the grid, which moves the focus, causing a scroll, triggering another virtual scroll... there are a number of cases like this which would need to be accounted for. With #11491, we will fix the table row height to be the same for each row in a table, a table will have a fixed height and only display a set number of rows, and one scroll gesture will shift the contents of entire rows rather than pixel by pixel. We'll be ripping out much of the scrolling logic from the focusable grid/list directive, and reworking much of the virtual scrolling logic. So I think it's in everyone's best interest to focus on implementing #11491 rather than scraping together a solution for this ticket, which will only be thrown away when we get to tackling #11491.
@mikerodonnell89 Once you downport the new virtual scrolling can you validate the scenario here https://github.com/SAP/fundamental-ngx/issues/11915 ? Also validate it against https://github.com/SAP/fundamental-ngx/issues/11899
fixed on the ng15 downport branch with #12049. fix on main to come