Scott O'Hara
@scottohara.me
i work on things related to web accessibility. i'm probably reviewing your github issue/pr right now. i'll have thoughts.
saying "headers" when you mean "headings" is equivalent to using "there", "their" and "they're" interchangeably.
November 6, 2025 at 2:00 PM
saying "headers" when you mean "headings" is equivalent to using "there", "their" and "they're" interchangeably.
And that’s it for me for now.
Maybe next time I post on social media I’ll have some accessibility information to share or some kind of witty jib jab to make for a good chuckle.
Maybe next time I post on social media I’ll have some accessibility information to share or some kind of witty jib jab to make for a good chuckle.
November 5, 2025 at 4:44 AM
And that’s it for me for now.
Maybe next time I post on social media I’ll have some accessibility information to share or some kind of witty jib jab to make for a good chuckle.
Maybe next time I post on social media I’ll have some accessibility information to share or some kind of witty jib jab to make for a good chuckle.
People shouldn’t have to be hungry.
Rights and respect shouldn’t be taken away from people.
These shouldn’t be debated topics.
Rights and respect shouldn’t be taken away from people.
These shouldn’t be debated topics.
November 5, 2025 at 4:38 AM
People shouldn’t have to be hungry.
Rights and respect shouldn’t be taken away from people.
These shouldn’t be debated topics.
Rights and respect shouldn’t be taken away from people.
These shouldn’t be debated topics.
I say this on a night where there have been some election results that demonstrate people with interesting ideas and a desire to good for everyone have been elected. So, I’m glad for that.
But for every good bit news there is a metric ton of bad. I want us to do better for everyone. Consistently
But for every good bit news there is a metric ton of bad. I want us to do better for everyone. Consistently
November 5, 2025 at 4:35 AM
I say this on a night where there have been some election results that demonstrate people with interesting ideas and a desire to good for everyone have been elected. So, I’m glad for that.
But for every good bit news there is a metric ton of bad. I want us to do better for everyone. Consistently
But for every good bit news there is a metric ton of bad. I want us to do better for everyone. Consistently
Why is there a variable understanding in this country of what the minimum bar of being a shit head is?
Like can we all agree that being a shit head is a bad thing?
Yes?
Then why the ever loving fuck have we elected so many of them?
:: this is the bad place ::
Like can we all agree that being a shit head is a bad thing?
Yes?
Then why the ever loving fuck have we elected so many of them?
:: this is the bad place ::
November 5, 2025 at 4:29 AM
Why is there a variable understanding in this country of what the minimum bar of being a shit head is?
Like can we all agree that being a shit head is a bad thing?
Yes?
Then why the ever loving fuck have we elected so many of them?
:: this is the bad place ::
Like can we all agree that being a shit head is a bad thing?
Yes?
Then why the ever loving fuck have we elected so many of them?
:: this is the bad place ::
Reposted by Scott O'Hara
NEW: A federal judge said the decision by Trump WH to end sign language interpretation at briefings by Trump and Leavitt likely violated the Rehabilitation Act and harmed deaf people who communicate in ASL.
www.politico.com/news/2025/11...
www.politico.com/news/2025/11...
Judge orders White House to restore sign language interpreters at briefings by Trump, Leavitt
U.S. District Judge Amir Ali said the White House’s decision to end ASL interpretation illegally excluded deaf Americans from crucial updates from the government.
www.politico.com
November 5, 2025 at 1:36 AM
NEW: A federal judge said the decision by Trump WH to end sign language interpretation at briefings by Trump and Leavitt likely violated the Rehabilitation Act and harmed deaf people who communicate in ASL.
www.politico.com/news/2025/11...
www.politico.com/news/2025/11...
Reposted by Scott O'Hara
The first and last decent CEO of a social media app was Tom from MySpace. Buddy made himself everyone’s friend, stfu, and stayed out the way. Everyone since has been the worst.
October 17, 2025 at 11:08 PM
The first and last decent CEO of a social media app was Tom from MySpace. Buddy made himself everyone’s friend, stfu, and stayed out the way. Everyone since has been the worst.
Reposted by Scott O'Hara
Many people still misunderstand screen readers — who uses them, how they work, and what inclusive design really means.
Ela Gorla has unpacked the most common myths on the TetraLogical blog:
tetralogical.com/blog/2025/10...
#Accessibility #InclusiveDesign #ScreenReaders
Ela Gorla has unpacked the most common myths on the TetraLogical blog:
tetralogical.com/blog/2025/10...
#Accessibility #InclusiveDesign #ScreenReaders
October 15, 2025 at 7:59 AM
Many people still misunderstand screen readers — who uses them, how they work, and what inclusive design really means.
Ela Gorla has unpacked the most common myths on the TetraLogical blog:
tetralogical.com/blog/2025/10...
#Accessibility #InclusiveDesign #ScreenReaders
Ela Gorla has unpacked the most common myths on the TetraLogical blog:
tetralogical.com/blog/2025/10...
#Accessibility #InclusiveDesign #ScreenReaders
why do services provide a "stay logged in" and "remember this device" function if they just sign you out, randomly.
often when not using the service, sometimes _when using the service_.
is it sloppy coding, or active fucking with users? both?
often when not using the service, sometimes _when using the service_.
is it sloppy coding, or active fucking with users? both?
October 7, 2025 at 10:16 PM
why do services provide a "stay logged in" and "remember this device" function if they just sign you out, randomly.
often when not using the service, sometimes _when using the service_.
is it sloppy coding, or active fucking with users? both?
often when not using the service, sometimes _when using the service_.
is it sloppy coding, or active fucking with users? both?
Reposted by Scott O'Hara
I feel this post deep in my bones, Alice gets right to the heart of why working on a11y in standards can feel like killing your soul by degrees.
And also why it’s hard to stop.
alice.boxhall.au/articles/a-t...
And also why it’s hard to stop.
alice.boxhall.au/articles/a-t...
A threat model for accessibility on the web - Alice
A explanation of the primary threat to accessibility on the web, and a call to action for the web standards community
alice.boxhall.au
October 2, 2025 at 11:41 PM
I feel this post deep in my bones, Alice gets right to the heart of why working on a11y in standards can feel like killing your soul by degrees.
And also why it’s hard to stop.
alice.boxhall.au/articles/a-t...
And also why it’s hard to stop.
alice.boxhall.au/articles/a-t...
Current status:
Not beer
Not beer
October 5, 2025 at 2:18 AM
Current status:
Not beer
Not beer
tonight's posts brought to you by:
"this is easier than a blog post, and i can do it while watching netflix."
bye
"this is easier than a blog post, and i can do it while watching netflix."
bye
September 23, 2025 at 12:23 AM
tonight's posts brought to you by:
"this is easier than a blog post, and i can do it while watching netflix."
bye
"this is easier than a blog post, and i can do it while watching netflix."
bye
a11y audit: YOU MUST NOT USE COLOR ALONE TO INDICATE STATE
designer: OK, i'll put a checkmark next to this option to indicate it's selected
a11y audit redux: "THERE IS CHECK BUT NOT ANNOUNCED AS CHECKBOX. THIS ALSO FAIL BECAUSE NOT CHECKBOX LOLOLOL"
designer: OK, i'll put a checkmark next to this option to indicate it's selected
a11y audit redux: "THERE IS CHECK BUT NOT ANNOUNCED AS CHECKBOX. THIS ALSO FAIL BECAUSE NOT CHECKBOX LOLOLOL"
September 23, 2025 at 12:20 AM
a11y audit: YOU MUST NOT USE COLOR ALONE TO INDICATE STATE
designer: OK, i'll put a checkmark next to this option to indicate it's selected
a11y audit redux: "THERE IS CHECK BUT NOT ANNOUNCED AS CHECKBOX. THIS ALSO FAIL BECAUSE NOT CHECKBOX LOLOLOL"
designer: OK, i'll put a checkmark next to this option to indicate it's selected
a11y audit redux: "THERE IS CHECK BUT NOT ANNOUNCED AS CHECKBOX. THIS ALSO FAIL BECAUSE NOT CHECKBOX LOLOLOL"
i just used a certain business-oriented social platform to message an old friend i lost touch with.
the entire time i felt like i should use the word "synergize", but i didn't.
i think i've forgotten how to internet properly. halp.
the entire time i felt like i should use the word "synergize", but i didn't.
i think i've forgotten how to internet properly. halp.
September 22, 2025 at 11:32 PM
i just used a certain business-oriented social platform to message an old friend i lost touch with.
the entire time i felt like i should use the word "synergize", but i didn't.
i think i've forgotten how to internet properly. halp.
the entire time i felt like i should use the word "synergize", but i didn't.
i think i've forgotten how to internet properly. halp.
i know it's redundant for me to say it, but _this is the bad place_.
September 21, 2025 at 5:26 PM
i know it's redundant for me to say it, but _this is the bad place_.
Reposted by Scott O'Hara
For anyone who pays attention to high contrast / forced colors mode styles:
I wrote up an explanation of why forced-color-adjust: none is nearly unavoidable and how it sets up your codebase for downstream bugs:
sarahmhigley.com/writing/forc...
I wrote up an explanation of why forced-color-adjust: none is nearly unavoidable and how it sets up your codebase for downstream bugs:
sarahmhigley.com/writing/forc...
forced-color-adjust: none is an unavoidable foot gun | Sarah Higley
A very long treatise on why text backplates were a bad idea. Most of the time.
sarahmhigley.com
September 18, 2025 at 8:28 PM
For anyone who pays attention to high contrast / forced colors mode styles:
I wrote up an explanation of why forced-color-adjust: none is nearly unavoidable and how it sets up your codebase for downstream bugs:
sarahmhigley.com/writing/forc...
I wrote up an explanation of why forced-color-adjust: none is nearly unavoidable and how it sets up your codebase for downstream bugs:
sarahmhigley.com/writing/forc...
Reposted by Scott O'Hara
Don’t tell people not to joke about serious shit. It’s a coping mechanism for some of us. It’s how we aren’t constantly screaming.
September 18, 2025 at 2:37 AM
Don’t tell people not to joke about serious shit. It’s a coping mechanism for some of us. It’s how we aren’t constantly screaming.
Reposted by Scott O'Hara
👁️🗨️ Conforming to WCAG does not make your UI magically accessible, but it will be a lot more accessible than if nothing is done. #UX is a different matter...
#WCAG #accessibility #reality
#WCAG #accessibility #reality
August 8, 2025 at 8:41 AM
👁️🗨️ Conforming to WCAG does not make your UI magically accessible, but it will be a lot more accessible than if nothing is done. #UX is a different matter...
#WCAG #accessibility #reality
#WCAG #accessibility #reality
Reposted by Scott O'Hara
an industry standard pattern:
when you scroll a page, a dialog pops up out of nowhere and autofocuses a text field, which then triggers the virtual keyboard.
peak UX right there. possibly the most elaborate way to say "fuck you"
when you scroll a page, a dialog pops up out of nowhere and autofocuses a text field, which then triggers the virtual keyboard.
peak UX right there. possibly the most elaborate way to say "fuck you"
August 1, 2025 at 8:15 PM
an industry standard pattern:
when you scroll a page, a dialog pops up out of nowhere and autofocuses a text field, which then triggers the virtual keyboard.
peak UX right there. possibly the most elaborate way to say "fuck you"
when you scroll a page, a dialog pops up out of nowhere and autofocuses a text field, which then triggers the virtual keyboard.
peak UX right there. possibly the most elaborate way to say "fuck you"
I used the center element today.
Fight me
Fight me
July 14, 2025 at 9:15 PM
I used the center element today.
Fight me
Fight me
Reposted by Scott O'Hara
a label and a name walk into a bar
"When is a label also an (accessible) name, when is it not and when is it neither?"
#HTML #ARIA #accessibility
html5accessibility.com/stuff/2025/0...
"When is a label also an (accessible) name, when is it not and when is it neither?"
#HTML #ARIA #accessibility
html5accessibility.com/stuff/2025/0...
a label and a name walk into a bar – HTML Accessibility
html5accessibility.com
July 14, 2025 at 11:16 AM
a label and a name walk into a bar
"When is a label also an (accessible) name, when is it not and when is it neither?"
#HTML #ARIA #accessibility
html5accessibility.com/stuff/2025/0...
"When is a label also an (accessible) name, when is it not and when is it neither?"
#HTML #ARIA #accessibility
html5accessibility.com/stuff/2025/0...
Reposted by Scott O'Hara
Hot off the presses! Firefox Nightly (www.mozilla.org/en-GB/firefo...) adds the new :heading pseudo! Easily style all headings, or use nth-child-like AnB syntax to select a range of headings! Needs `layout.css.heading-selector.enabled` flag enabled. Try it out and let me know your thoughts.
July 1, 2025 at 3:13 PM
Hot off the presses! Firefox Nightly (www.mozilla.org/en-GB/firefo...) adds the new :heading pseudo! Easily style all headings, or use nth-child-like AnB syntax to select a range of headings! Needs `layout.css.heading-selector.enabled` flag enabled. Try it out and let me know your thoughts.
I can point to multiple transcripts or minutes that have me on record for exactly this.
Feels good, don’t it?
Feels good, don’t it?
I would just like to go on record as saying:
the fuck
the fuck
June 12, 2025 at 10:29 PM
I can point to multiple transcripts or minutes that have me on record for exactly this.
Feels good, don’t it?
Feels good, don’t it?
Actually LOL'd at my very snarky post on the HTML menu element being linked in this intent to prototype.
but give this a look see. poke around the open ui discussions. give feedback if you are able to do so.
the goal here is to reduce the need for the ARIA patterns & instead provide them natively
but give this a look see. poke around the open ui discussions. give feedback if you are able to do so.
the goal here is to reduce the need for the ARIA patterns & instead provide them natively
Blink: Intent to Prototype: Menu elements
Blink: Intent to Prototype: Menu elements
Blink: Intent to Prototype: Menu elements
groups.google.com
June 10, 2025 at 6:53 PM
Actually LOL'd at my very snarky post on the HTML menu element being linked in this intent to prototype.
but give this a look see. poke around the open ui discussions. give feedback if you are able to do so.
the goal here is to reduce the need for the ARIA patterns & instead provide them natively
but give this a look see. poke around the open ui discussions. give feedback if you are able to do so.
the goal here is to reduce the need for the ARIA patterns & instead provide them natively