Only your 3rd point makes sense. Keep in mind that, the larger the content, the more space is needed around it to keep the visual proportions the same, otherwise the intention of the spacing loses its function.
- If users increase the browser font size, they most likely want bigger text, not bigger everything.
This is not necessarily correct. Spacing is used to make content better readable, easier noticeable, it can be used to group or separate content etc. When only the content is zoomed in, the effect of the surrounding space will diminish at the cost of readability and usability, not something most people will prefer.
- Most users use phones, tablets or laptops with limited screen space. The bigger the spacing, the fewer content elements can be displayed on the screen.
Same as above: spacing is functional. Without enough spacing, the content becomes less readable/usable.
- Most if not all browsers support the page zoom feature, which pretty much enlarges everything. So why have another setting for the exact same thing, instead of using font size only for the text?
There are indeed not many people that use text scaling (source), and using relative units for everything is debatable (source). One reason to choose rem over px is that there are so many screen resolutions with different pixel densities that designing/developing with pixels as basis is really not that relevant anymore. That a browser zooms any type of unit and it still turns out fine is not the right motivation to still use px as unit. And to account for those few people that still use text scaling, using a relative unit is a safer choice. I work with mostly rem as unit and never had problems with it. And it doesn't require me to think about scaling.
A note in general about zooming but something to keep in mind; Zooming must not cause scrolling in two directions. Scrolling in one direction (vertical) is a requirement of WCAG2.2.
EDIT:
Based on the examples, I can confirm two things from my answer:
- Scaling is functional. As Devin mentioned in the comment: preserving spaces while users want to zoom in works against their intention. Dashboards can be difficult to make responsive, I must give you that, but it certainly isn't impossible.
- If rems are not suitable, you are still allowed to use px.
But there is also something to add:
- There is the css
max
property. For example the paddings can be scaled half the text size but only from a minimum value: max(16px, .5rem)
.
- If complex scaling is most definitely wanted, javascript can be used to observe text size and adjust spacing accordingly. I would never go this route, but it is possible.
- Don't overcomplicate it, scaling works as most people expect when using standard available techniques.