666: What Are the Evils of the Web Platform?
Episode
62 min
Read time
2 min
Topics
Leadership, Software Development, Psychology & Behavior
AI-Generated Summary
Key Takeaways
- ✓Cancellation Dark Patterns: Services like LegalZoom require proof of alternative legal representation or business dissolution paperwork just to cancel subscriptions, creating illegal barriers. The only practical recourse becomes credit card chargebacks, which should never be the primary cancellation method for legitimate services.
- ✓Email Opt-Out Standards: Checkout forms lack standardization for newsletter consent, with some using checked boxes to opt-in while others use checked boxes to opt-out. The writing often employs double negatives intentionally. Best practice: unchecked by default, checking means explicit opt-in, with clear language stating "I want to receive communications."
- ✓HTML Fault Tolerance: HTML's extreme forgiveness allows unclosed p tags, divs inside p tags, and buttons wrapping anchor links to render without errors. This tolerance enabled web adoption but creates accessibility problems and validation issues on 99.9999% of websites. Strict validation would have limited the web to eight websites.
- ✓CSS Naming Mistakes: The W3C maintains a Wiki documenting CSS mistakes including box-sizing not defaulting to border-box, white-space:nowrap lacking a hyphen while other properties use dashes, border-radius instead of corner-radius, and currentcolor as one word instead of current-dash-color, showing inconsistent style guide application.
- ✓Invoker API Inconsistency: Details elements use an open attribute and open method, dialogs use show and showModal methods, while popovers use showPopover and hidePopover methods. This inconsistency across similar interactive elements creates unnecessary cognitive load. A unified approach with display state management decoupled from display type would improve developer experience.
What It Covers
Shop Talk Show episode 666 examines web platform problems including dark patterns in cancellation flows, HTML validation tolerance, inconsistent CSS naming conventions, accessibility implementation gaps, and the evolution of interactive HTML elements like dialogs and popovers.
Key Questions Answered
- •Cancellation Dark Patterns: Services like LegalZoom require proof of alternative legal representation or business dissolution paperwork just to cancel subscriptions, creating illegal barriers. The only practical recourse becomes credit card chargebacks, which should never be the primary cancellation method for legitimate services.
- •Email Opt-Out Standards: Checkout forms lack standardization for newsletter consent, with some using checked boxes to opt-in while others use checked boxes to opt-out. The writing often employs double negatives intentionally. Best practice: unchecked by default, checking means explicit opt-in, with clear language stating "I want to receive communications."
- •HTML Fault Tolerance: HTML's extreme forgiveness allows unclosed p tags, divs inside p tags, and buttons wrapping anchor links to render without errors. This tolerance enabled web adoption but creates accessibility problems and validation issues on 99.9999% of websites. Strict validation would have limited the web to eight websites.
- •CSS Naming Mistakes: The W3C maintains a Wiki documenting CSS mistakes including box-sizing not defaulting to border-box, white-space:nowrap lacking a hyphen while other properties use dashes, border-radius instead of corner-radius, and currentcolor as one word instead of current-dash-color, showing inconsistent style guide application.
- •Invoker API Inconsistency: Details elements use an open attribute and open method, dialogs use show and showModal methods, while popovers use showPopover and hidePopover methods. This inconsistency across similar interactive elements creates unnecessary cognitive load. A unified approach with display state management decoupled from display type would improve developer experience.
Notable Moment
The hosts advocate for mandatory "why columns" in code documentation, with one refusing to merge pull requests until files include comments explaining architectural decisions. This practice prevents future developers from wondering why plugin lists or API structures exist in their current form, especially after modifications.
Episode Transcript
And low on this day, the seventh seal of HTML hell was opened. Dark patterns of greed and corruption spewing forth from its gaping maw. But fear not, dear listener. Our heroes are on the scene. Still, the question remains. Will they be able to stop the nightmare with nothing but their wit and wisdom to guide them? Tune in now. Find out. You've entered the shadow, Dom. Welcome, Chopper Mediacs, to episode six six six of the Chopper Show. I'm Dave the dark lord, Rupert, and with me is Chris Christopher Coyer. Christopher? Uh-huh. Never heard that. Christopher. That's Lucifer's brother who's even worse. He's even Rainer. I I write bad HTML. I don't know. He he doesn't validate his code. He's the worst. On that note, I do have a slight correction from previous episodes. Members of the accessibility community reached out to me, to, explain to me that I made it sound like I was criticizing well, I did criticize Sarah's article, but a long article on why carousels aren't great. People reach out and said, I made it sound like it was the accessibility community's fault that inaccessible stuff was shipping. I just want to say that wasn't my intent at all. My intent is really like Sarah should have never had to write that article in the first place. Why? Or Google should have paid Sarah big money to do this behind the scenes, not in public. Anyway, that's what I want to say there. I think there's not really a both sides ism. It's like people are pushing things out, trying to get to the bottom of why, you know, is is kind of the question I'm asking as an independent journalist. But Right. And we also heard the flip side of it is that there was actually a lot of accessibility work done on it too. Right? It's not like it's not like they they just winged it and threw it out. It was worked on for a tremendous amount of time, and it was literally tested with, people that need, you know, whatever. How do you even say that? Technology. Yeah. So it's not like that. It's not like they threw away the accessibility process. Was it done to the rigor apparently of of of of everything? Or or and then in one case, like, what are the trade offs to, You know? Like, is it were decisions made that we're like, we can't actually make this perfect right now because it's like one change benefits one group and not the other? And is there some of that stuff going on? It sounded like there was. Yeah. You know, I I'm not I mostly just care like, what's the gap? What's the gap? Why did that happen? Then how did it happen? There you go. What were the processes? I almost wish we could show our homework a bit more. You know what I mean? That I I feel like that would …
Get the full transcript (11,119 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 59-minute episode.
Get Shop Talk Show summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Shop Talk Show
731: Terminal UX, Running Multiple Services, Don’t Settle for an App
Sep 7 · 58 min
The Bootstrapped Founder
383: Repositioning Podscan: From Monitoring to Data Platform
Mar 28
More from Shop Talk Show
730: A/B Testing with Charts, Music Recommendations, & Web Permissions
Aug 31 · 60 min
How I AI
Grok Bot vs. OpenClaw: How I replaced my entire agent stack
Sep 2
More from Shop Talk Show
We summarize every new episode. Want them in your inbox?
731: Terminal UX, Running Multiple Services, Don’t Settle for an App
730: A/B Testing with Charts, Music Recommendations, & Web Permissions
729: After Dark Edition! Microlighter, Tri-state Drama, and Editing Video Quickly
728: BIMI, Good Favicon Practice, and CSS @Layer Exploration
727: Front-End Complexity, AI Co-Authorship, and New CSS Navigation Patterns
Similar Episodes
Related episodes from other podcasts
The Bootstrapped Founder
Mar 28
383: Repositioning Podscan: From Monitoring to Data Platform
How I AI
Sep 2
Grok Bot vs. OpenClaw: How I replaced my entire agent stack
This Week in Startups
Aug 25
China wants you to cheer for the robots taking your job | E2329
TED Radio Hour
Aug 21
How the creator economy is making you talk like the internet
The Vergecast
Aug 14
Mark Zuckerberg has an Instagzam
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.
You're clearly into Shop Talk Show.
Every Monday, we deliver AI summaries of the latest episodes from Shop Talk Show and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime