I think HTML needs a <spoiler> tag. Compliant browsers would automatically redact anything contained within it.
For further granularity, you could have support for <spoiler kind=”XXX”> where XXX might be “Breaking Bad” or “US Open” or “Cheers Final Episode” or whatever. Then when you visit a page, your browser would note at the top: “Warning: This page contains spoilers for Breaking Bad, US Open, and Cheers Final Episode” with an option to redact some or all of those things.
Your browser could remember your preferences across websites, so if you chose to redact spoilers where kind=”Breaking Bad” on one site, that will be the default behavior on other sites until you turn it off in the spoilers preferences, which keep a running list of spoiler kinds you’ve encountered.