Skip to main content
Shop Talk Show

666: What Are the Evils of the Web Platform?

62 min episode · 2 min read

Episode

62 min

Read time

2 min

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.

Know someone who'd find this useful?

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 — Free

Keep Reading

More from Shop Talk Show

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

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 up to 3 shows.

Start My Monday Digest

No credit card · Unsubscribe anytime