why are they `span` and not `a` or `button` elements ?