server
server copied to clipboard
Create sticky action buttons for table in Settings/User App
Html structure of the table has been changed for a11y purposes: https://github.com/nextcloud/server/issues/36921.
During testing of new implementation some bugs regarding position: sticky and not right existing implementation of z-index of the action buttons have popped up. Demo:
There were 2 main problems:
- During opening action menu of each row
- During opening action menu of each row in editing mode
For the time reasons was decided to keep good / not broken state but without position: sticky which causes possible right scrolling inside of a table (from a11y perspective absolutely valid but not as user friendly as before), see https://github.com/nextcloud/server/pull/37870.
This is a follow-up ticket to correct action buttons to sticky position with current table implementation. There were some suggestions regarding implementation:
Current style was a bit incorrect:
.userActionshadz-index: 10.popovermenuhadz-index: 110.userActionsis a parent of.popovermenu- A child cannot have
z-indexhigher than parent
For
position: relativewe could just removez-index: 10. But withposition: stickyit works different...position: stickyalways creates a new stacking context. It is possible neither to removez-indexfromstickyparent, nor to make child with higherz-index...
If I'm not wrong, the only way to keep sticky here is to use another
containerforNcActionshere. For example,#app-content. But > I am really not sure, it positions element correct with sticky...
For an experiment, try to set
containerprop ofNcActionshere to#app-content.
from https://github.com/nextcloud/server/pull/37860#issuecomment-1517710248
And:
Proposals regarding sticky + z-index issue:
Render
NcActionsoutside the table row
- Props:
- I'd expect it to be easy to implement
- Cons:
- Requires rewriting of some integration tests because row buttons will be outside of the row
Generate progressive z-index - set each next row less
z-indexvalue
- Props:
- Keep the current structure
- Cons:
- More complex implementation
- Not sure about performance and large tables
from https://github.com/nextcloud/server/pull/37870#issuecomment-1542634341
Please pay attention that integration tests possibly have to be adopted too.
@JuliaKirschenheuter I'm not sure if it's related, but in current NC27 I can't even see the action buttons if I enable further columns like "last login" or "user backend". They are then out of the viewable area and there's no horizontal scroll bar.
I can only see them when I click inside the text and mark it by moving to the right until they are viewable.