Fixed top and bottom bars jointly compress the usable content area
Aliases: fixed chrome · double-bar squeeze · usable viewport
What it is
A news app pins a logo, search and avatar at the top, and five tabs at the bottom. Neither bar looks tall; together they can eat nearly a third of a short screen, and the body is a scrollable slit. Chrome compression is the joint bill: the two fixed shells are not two decorations. They are two bites from the same usable height.
They are usually reviewed apart — the top “only 44”, the bottom “only 49” — never summed on one picture. After the sum, primary actions and primary content have to fit in what is left, and placement decisions start there.
Why it happens
Fixed elements leave the scroll container and eat the viewport. Viewport height is finite; fixing both ends is a pincer. The pincer is nastiest on a short screen: the same 44 + 49 is a far larger share on an SE than on a tall phone. The pincer also moves the fold and the thumb arc — less scrollable content, an earlier fold; the lower-screen arc occupied by the tab bar, so the primary action either stacks on the bar or is pushed into a harder middle.
Chrome grows. A permission banner, a campaign strip, a mini player stack on top of bars already there, and compression adds. Each bite passes review alone; after addition the content area cannot hold one complete card.
Where it stops holding
On a large desktop window the two bars are a small share and compression is not a placement crisis; the problem becomes density. Fullscreen reading and playback deliberately put the shell away, and compression is lifted on purpose. A single fixed bar (top only, or bottom only) is a cheaper bill, but still has to be taken as a share on a short screen. When the keyboard rises the bottom bar is often pushed off or compressed further; the double-bar bill has to be recalculated in the keyboard state, not only at rest.
Applying it
- Sum top-bar height, bottom-bar height and system inset as a “chrome share” on the short screen. Past roughly a quarter, un-fix one of the bars, or let one hide on scroll.
- Before adding another fixed strip, stack it into the existing chrome share; do not review its height in isolation.
- Primary content must expose at least one complete card or one complete paragraph on the short screen, not a title clamped to death between two bars.
- How to check: open the main list on the shortest target device and measure whether the content height holds the product’s own standard card. If it does not, the two bars have already overspent the placement budget.