1
HTML/CSSIntermediate#css#position
display: none removes the element from the render tree entirely — it takes no space and isn't accessible. visibility: hidden hides the element visually but it still occupies its layout space and remains in the accessibility tree (though usually skipped by screen readers too).
<div style="display: none">Gone, no space taken</div> <div style="visibility: hidden">Invisible but still occupies space</div>