A persistent sidebar consumes content width
Aliases: content squeeze · always-on nav width
What it is
Once a sidebar is persistent, it is not “a little margin”. It is a column of width the content loses on every frame. Persistent sidebar width cost shows up hardest on tables, timelines, parallel reading, and multi-column editors: navigation stays present while the main task wraps, grows a horizontal scrollbar, or loses a critical column off the viewport. Whether a sidebar fits the tree is a different question. The tree can be a perfect sidebar candidate and the persistent form can still make the content unlivable.
Why it happens
Desktop layout is zero-sum: window width minus sidebar, toolbars, and scrollbar is what content gets. When the sidebar sizes to label length, Chinese or German copy can push the column past 240–280 px; table columns, code lines, and canvas rulers then reflow into what remains. People actually look at content; navigation is used when changing place; the width tax is charged continuously. A low-frequency catalogue occupies high-frequency reading space.
People also shrink windows, tile two documents, or plug in a smaller display. Those real widths are narrower than the artboard, and the sidebar rarely demotes with them, so horizontal scrolling goes from occasional to default. A draggable sidebar only hands the decision to the user; it does not cancel the tax. Drag it to icons and recognition fails; drag it wide and content keeps yielding.
Where it stops holding
On ultrawide displays, monitoring walls, and a second screen dedicated to navigation, the persistent cost approaches zero. When the content itself is a narrow column (chat, forms, settings), giving up a strip can even centre the content and help reading. The real loss is on views with a minimum readable width: data tables, scores, bilingual alignment, design canvases. Immersive fullscreen (present, video) should drop the sidebar temporarily rather than let the nav tax into playback. On touch, a persistent sidebar also occupies the left edge the thumb could have used.
Applying it
- Declare a minimum readable width for primary content (a table still showing its key columns, an editor still showing N characters). Below that width, the sidebar becomes dismissible or collapses to a rail — it does not stay persistent.
- Size the default to short labels; wrap or reveal the full name on hover rather than padding the column to the longest string.
- Let people close the sidebar and remember that choice. Fullscreen and present modes must be able to drop the nav tax in one step.
- How to check: at the target minimum window width, open the widest content view (table, canvas, parallel reading) and look for a horizontal scrollbar or a missing key column. Either one means the persistent cost beat the navigation gain. Then compare time spent clicking the sidebar in a session with the pixel share it occupies; a sharp mismatch is a reason to collapse by default.