What a minifier may delete without asking
Two things go, and only two: comments and harmless whitespace. A comment is dropped unless it starts `<!--!`, which is the convention for a license banner, or is one of the `<!--[if ...]>` conditional comments written for old browsers - both stay by a switch that defaults to keeping them. Whitespace is collapsed to one space and then dropped wherever a browser under `white-space: normal` would not render it: at the start or end of the page, or beside a block-level element such as a `div`, `p`, `ul` or `h1`. Beside anything the pass cannot classify it is kept, because the cost of a wrong guess is a layout that silently shifts.
Everything else is left exactly as written. No attribute is reordered, no quotes are removed, no optional closing tag is added, no self-closing slash is touched - inline SVG needs that slash to end an element - and no element is merged. The output is deliberately of a kind you can diff against the input and understand.