4 ms·
So what happens when an HTML-compliant browser renders a document with <amp-img>? It won't be what the author of the document intended, because the browser will
by pdkl95 8y ago
So what happens when an HTML-compliant browser renders a document with <amp-img>? It won't be what the author of the document intended, because the browser will skip the <amp-img> tag. The document is only interoperable if all browsers load and execute Google's Javascript that defines those tags. This type of technically-valid with obviously functionally incompatible is a perfect example of the Extend phase of the EEE[1] strategy.
HTML has always tolerated out-of-spec tags, because it was originally designed as an application of SGML (defined by an SGML DTD). Since then, new tags were regularly added (and generally tolerated by older browsers), but the practice of defining new tags in a DTD has gradually stopped happening. Web Components accomplish a similar role but replace the use of the declarative language in a DTD with a requirement to run a Turing complete langrage. Making the definition of new tags undecidable is a powerful way to tightly couple browser implementations under Google's control.
[1] https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
- gregable 8y agoThis is an application of the W3C's Extensible Web Manifesto (https://www.w3.org/community/nextweb/2013/06/11/the-extensible-web-manifesto/ https://www.w3.org/community/nextweb/2013/06/11/the-extensib...)
- joshuamorton 8y agoWhat? An html compliant browser would apply the custom elements spec and render the custom element. If the user isn't using JavaScript, then you fall back, as defined in the spec. Note that custom elements are themselves a standard, there is no "extending" here. There is just applying the web elements spec in a way some people dislike.