[whatwg] Implementation complexity with elements vs an attribute (responsive images)

Mathew Marquis mat at matmarquis.com
Sat May 12 07:49:36 PDT 2012


On May 12, 2012, at 10:36 AM, James Graham wrote:

> 
> 
> On Sat, 12 May 2012, Mathew Marquis wrote:
> 
>> While that information may be available at the time the img tag is parsed, I don’t believe it will be available at the time of prefetching — I’m happy to research this further and report back with citations.
> 
> I am very confused about what you are claiming here. I have difficulty imagining any scheme that would make prefetching work worse with an attribute than with multiple elements. As Simon says there is a lot more that can go wrong in the multiple-element case because a single attribute can be processed atomically, but multiple elements can have all sorts of other junk between them that makes naieve processing (of a type likely to be used when prefetching) more likely to go wrong e.g.
> 
> <picture>
> <img src="foo">
> <script>document.write("</picture>")</script>
> <source src="bar">
> </picture>
> 

I think we can safely assume that any developer responsible for the above code likely won’t blame the element itself when it produces undesirable results. I assume such a pattern applies to the video and audio elements as well, and I’ve yet to see any developers declare them failures because they accidentally wrote a script that injects half a <marquee> tag in there. 

However, given a completely foreign and somewhat puzzling new syntax, I think it’s far more likely we’ll see the following:

<img src="face-600-200 at 1.jpeg" alt=""
        set="face-600-200 at 1.jpeg 600w 1x,
             face-600-200 at 2.jpeg 600w 2x,
             face-icon.png       200w">

Become:

<img src="face-600-200 at 1.jpeg" alt=""
        set="face-600-200 at 1.jpeg 600 1x,
             face-600-200 at 2.jpeg 600 2x,
             face-icon.png       200">

Or:

<img src="face-600-200 at 1.jpeg" alt=""
        set="face-600-200 at 1.jpeg, 600w 1x
             face-600-200 at 2.jpeeg 600w 2x,
             face-icon.png       200w">

Regardless of how gracefully the above fail by comparison to a developer _purposefully injecting a closing tag into an element_, I’m confident this is a far more likely scenario and a “spot the differences” game very few developers will be excited to play.







More information about the whatwg mailing list