Top all-time · #6278
Scott O'Hara
Personal blog · scottohara.me/blogwebdesign
Scott O'Hara writes Scott O’Hara, a personal blog at scottohara.me about web and design. Since 2019, 13 different Hacker News readers have linked it 16 times. It is still writing: the last post was on 2025-03-14, and you can follow it by feed.
Too few sampled comments (7) to say how often HN recommends it.?
Why HN links it
HN readers link Scott O'Hara's accessibility posts on native HTML elements, including dialog, details/summary with VoiceOver, and img alt text, as references on how screen readers handle them.
Summarised by Claude from a sample of 7 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Scott O'Hara is a designer and developer based outside of Boston MA. He writes code and cares a ton about building great, accessible user experiences for everyone.
Most-linked posts?
- /blog/2022/09/12/details-summary.html2 people · 2 mentions · first linked 2023-05-29
What Hacker News says?
Looks like I missed your remark on sections. I'm not sure about Reader view, but <section> does nothing for screen readers as it comes to headings. It doesn't start a new nesting level. You can label a section and this way mark it as a landmark to a screen reader, but that's something you can do on any element. Meanwhile, developers trying to keep up incidentally may use <section> in an effort to produce more semant…
Comment linking /blog/2021/07/16/section.html
on “Canistilluse.com”Submitted Div Divisiveness as a story · 55 points
HN discussionHave a look at this: https://www.scottohara.me/blog/2019/03/05/open-dialog.html To sum it up, <dialog> is a specced standard of which the first implementation appeared 8 years ago. It is a perfect example to illustrate my original rant. It is a feature in high demand, almost every web application needs it. Hence it makes sense to have a native control and for each browser to implement it, eventually. No such thing h…
Comment linking /blog/2019/03/05/open-dialog.html
on “Canistilluse.com”Submitted Spoiler Alert: it needs to be accessible as a story · 2 points
HN discussionI started writing an article in March entitled “<img alt> should be empty”, arguing the radical position that every image tag should have an empty alt attribute. I don’t quite hold that opinion in reality, but it’s pretty close. I stopped writing it because I was poking a few too many holes in my position, but I still hold to the bones of it. The primary categories of images that exist are: • Decorative or ornamenta…
Comment linking /blog/2019/01/21/how-do-you-figure.html
on “Annoying website features I face as a blind person”Submitted Use the Dialog Element (Reasonably) as a story · 2 points
HN discussionOn that note, TIL about screen reader issues related to dialogs in general, including this built-in. Seems like the question is primarily around how to update the focus target from the "invoking element" to the dialog's content in a reader-friendly way. There's a linked post from the MDN docs with more detail https://www.scottohara.me/blog/2019/03/05/open-dialog.html#i... . They actually still recommend a custom imp…
Comment linking /blog/2019/03/05/open-dialog.html
on “New WebKit features in Safari 15.4”Submitted The details and summary elements, again as a story · 2 points
HN discussionThere isn't a good argument for considering marquee deprecated anymore. Not when a <toast> element is being considered[0]. So I'd use it whenever I want a marquee. After all, <marquee> and <toast> are both shorthands for stuff that could be implemented in CSS/JS - except marquee is well supported, well specified, and more semantically different than other elements compared to <toast> (which is pretty similar to <dia…
Comment linking /blog/2019/07/10/the-output-element.html
on “Marquee HTML Element”Submitted “Fixing” Lists (2019) as a story · 2 points
HN discussionI love details/summary and want them to succeed but current implementations have some issues. A big one is VoiceOver for iOS currently what they are or their state, something that's very straightforward and reliable when making a custom disclosure widget. Good article about some issues (with a link at the top to his previous article about them). https://www.scottohara.me/blog/2022/09/12/details-summary.ht...
Comment linking /blog/2022/09/12/details-summary.html
on “300ms Faster: Reducing Wikipedia's Total Blocking Time”Submitted “Fixing” Lists (2019) as a story · 2 points
HN discussionDetails/summary had quirky/inconsistent handling by screen readers for quite a while after it reached full browser adoption, unfortunately. Not even sure if they’ve fixed it here in 2026, honestly. https://www.scottohara.me/blog/2022/09/12/details-summary.ht... While it’s good to use well-implemented semantic elements when possible, there are still plenty of places where either the built-in browser behavior isn’t ac…
Comment linking /blog/2022/09/12/details-summary.html
on “Moving away from Tailwind, and learning to structure my CSS”Submitted New in ARIA 1.2: ARIA IDL attributes as a story · 2 points
HN discussionSubmitted Considering dynamic search results and content as a story · 1 points
HN discussionSubmitted Disabling a Link (Using Aria) as a story · 1 points
HN discussion