Setting `list-style-type` to an empty string in CSS removes the visual bullet markers from a `<ul>` while preserving the list's semantic role for screen readers. This avoids the common workaround of adding `role` attributes to restore semantics after using `list-style: none`. The technique was tested across VoiceOver, TalkBack, NVDA, JAWS, and Narrator on multiple browsers and platforms with consistent results, though thorough testing is still recommended.

1m read timeFrom matuzo.at
Post cover image