Just one thing needs fixing, urgently: stop messing with the scrollbars! You should never take away the scrollbar unless you’re replacing it with some similar affordance (and even that’s iffy).
This really is a big deal. It leads to people flat-out missing that things are scrollable. Even after I noticed it was doing that in one of the demos, I missed the scrolled content in the other demo for a while.
This needs two changes: firstly, ditch the .no-scrollbar class; secondly, on your .overflow-y-scroll and .overflow-x-scroll, replace the value ‘scroll’ with ‘auto’. (It’s a case of bad naming, compounded by the advent of overlay scrollbars which make it easy to miss that it’s forcing scrollbars, not merely allowing scrollbars, and inconsistent with almost all of the rest of CSS in that a value named ‘auto’ is not the default. ‘scroll’ has only ever had approximately three rare but semi-legitimate use-cases, and at least two of them were rendered obsolete with the advent of the ‘scrollbar-gutter’ property. My personal opinion is that `overflow: scroll` should be officially deprecated, linters should error on it, and browsers should even consider replacing it with `overflow: auto` as an intervention.)
(Leaflet cofounder here) - thanks so much for the detailed feedback here, this is great context and appreciate the specifics on CSS intricacies / naming history I was not aware of! We'll take a look at improving our scrollbar handling. We like the minimalist look without but have gotten used to it and I hear you it breaks a useful and expected affordance. I think we might be able to strike a balance with just vertical scrollbars in pages + maybe eventually do a custom indicator for multi-page columns (more obvious b/c you see them open side by side, and global horiz scrollbar is a lot uglier than per-page vertical ones!)
This really is a big deal. It leads to people flat-out missing that things are scrollable. Even after I noticed it was doing that in one of the demos, I missed the scrolled content in the other demo for a while.
This needs two changes: firstly, ditch the .no-scrollbar class; secondly, on your .overflow-y-scroll and .overflow-x-scroll, replace the value ‘scroll’ with ‘auto’. (It’s a case of bad naming, compounded by the advent of overlay scrollbars which make it easy to miss that it’s forcing scrollbars, not merely allowing scrollbars, and inconsistent with almost all of the rest of CSS in that a value named ‘auto’ is not the default. ‘scroll’ has only ever had approximately three rare but semi-legitimate use-cases, and at least two of them were rendered obsolete with the advent of the ‘scrollbar-gutter’ property. My personal opinion is that `overflow: scroll` should be officially deprecated, linters should error on it, and browsers should even consider replacing it with `overflow: auto` as an intervention.)