I made this post explaining cumulative layout shift and outlining a small fix on Forem.
I want to give a little more context on CLS and how we need to think about it with Forem.
- Forems are built to become cumulative knowledge repositories over time. Therefore search and SEO will always be very important. Squashing any SEO bugs, no matter how small, is generally worthwhile.
- CLS is a UX bug which is a big factor in making web experiences not feel native because it is generally not experienced to the same degree in native apps. We serve webviews within our mobile apps, but want to strive for an experience comparable with native. Reducing CLS goes a long way here, even in scenarios where it will not impact SEO.
- We, as users of Forems and the web itself, should seek to reduce the little things that make any experience more solid and less janky. You can have all the features in the world, but if the process of loading a page is unpleasant, who cares?
If you're reading this, the term "cumulative layout shift" may be new to you but I am sure everyone has seen CLS in the wild. Hopefully grounding it in a term we share and can identify will help us avoid shipping interfaces with CLS problems.