- From: Erik Isaksen <erik_isaksen@hotmail.com>
- Date: Thu, 12 Sep 2013 10:16:46 -0400
- To: Simon Pieters <simonp@opera.com>, "public-html@w3.org" <public-html@w3.org>, Anselm Hannemann <info@anselm-hannemann.com>
- Message-ID: <BAY174-W267BA57718A37E66FBC99BED3A0@phx.gbl>
Simon, srcset[x] doesn't seem to follow the same conventions as other attributes. For consistency, what if it worked the same as your mediaset attribute? For example: <img mediaset="(min-width: 45em), (min-width: 18em), all" srcset="(large-1.jpg, med-1.jpg, small-1.jpg), (larse-2.jpg, med-2.jpg, small-2.jpg)" src="small-1.jpg" alt="Accessible text"> Erik IsaksenSenior UX Engineer 3Pillar Global > To: public-html@w3.org; info@anselm-hannemann.com > Date: Thu, 12 Sep 2013 15:53:27 +0200 > From: simonp@opera.com > Subject: Re: The picture element: complexity > > On Thu, 12 Sep 2013 13:50:08 +0200, Anselm Hannemann > <info@anselm-hannemann.com> wrote: > > > Hi Simon, > > > > while I totally understand <picture> with its source elements is complex > > to implement and needs more tests than a simple attribute I wonder what > > you would propose as alternative to e.g. media-query usage within source > > elements. This is needed to solve the art direction use-case > > (http://usecases.responsiveimages.org/#art-direction) > > Art direction based on viewport width is supported by srcset. > > > amongst others (like high-contrast or print – compare: > > http://usecases.responsiveimages.org/#matching-media-features-and-media-types). > > The example with the pie chart that wants colors on color devices but a > wide gray scale on non-color devices could be implemented using an SVG > image with media queries in CSS. > > For the print case, it's not clear to me that it is a good idea to block > printing a page on downloading a heavy image compared to providing a link > to a page with heavy images (e.g. a PDF) for printing that the user can > navigate to and print. > > > If you have an idea how this could be solved using an easier to > > implement syntax, I would be happy to help doing this. Simply I believe > > (and know for certain) the srcset attribute alone is not enough to solve > > the 'Responsive Images' problem entirely. > > I see several options. > > (1) Use only <img src> and serve a scaled down low quality high-resolution > image to everyone (which is the same size in bytes as a high quality > low-resolution image and is visually good enough on both low and high > resolution devices), and solve the art direction use cases with CSS > clipping and rotation etc. > > For devices that don't have a high-resolution screen and/or have limited > memory, the browser can store a scaled down version of the image in > memory. I'm told JPEG can be decoded at half of the resolution for free > (https://twitter.com/pornelski/status/377770545661894656 ). It would be a > good idea for browsers to do that regardless of what we do for responsive > images to have a nicer failure mode when loading big images on > memory-constrained devices. > > (2) Go with srcset and leave the use cases it doesn't address to SVG or > CSS. > > (3) Redesign the picture element to encode the same information in > attributes on <img>. > > For instance, change > > <picture width="500" height="500"> > <source media="(min-width: 45em)" srcset="large-1.jpg 1x, large-2.jpg > 2x"> > <source media="(min-width: 18em)" srcset="med-1.jpg 1x, med-2.jpg 2x"> > <source srcset="small-1.jpg 1x, small-2.jpg 2x"> > <img src="small-1.jpg" alt="" lazyload> > <p>Accessible text</p> > </picture> > > to > > <img mediaset="(min-width: 45em), (min-width: 18em), all" > srcset1x="large-1.jpg, med-1.jpg, small-1.jpg" > srcset2x="larse-2.jpg, med-2.jpg, small-2.jpg" > src="small-1.jpg" alt="Accessible text"> > > where "1x" and "2x" in the attribute name can be an arbitrary number, > including non-integers. > > -- > Simon Pieters > Opera Software >
Received on Friday, 13 September 2013 14:47:34 UTC