Difference between revisions of "alternates-brainstorming"

From Microformats Wiki
Jump to navigation Jump to search
m (Reverted edit of QnmB1u, changed back to last version by SeanGilligan)
Line 1: Line 1:
[[http://ivo-lisses.ifrance.com/description/ig-farben.htm ig farben]] [[http://tumma-valo.ifrance.com/html/hard-disk214/ hard disk interno 200]] [[http://restartsaber.50webs.com/un-poker2.htm un poker di pistole]] [[http://kissy-sait.ifrance.com/siamo-figli/ siamo figli delle stelle]] [[http://rhin-per.ifrance.com/film-del.htm film del genere fantastico]] [[http://irishais.50webs.com/text/oggetti-porno/ oggetti porno]] [[http://lent-san.ifrance.com/data/mascate.htm mascate]] [[http://rndroponyer.50webs.com/lib/corse-dei1/ corse dei cavalii]] [[http://arelpei-cnek.ifrance.com/lib/noma-numa/ noma numa yei]] [[http://ivo-lisses.ifrance.com/description/codici-seca1.htm codici seca 2 titanium card]] [[http://dancfiri-dance.ifrance.com/rexel-lp/ rexel lp 25hs]] [[http://captlychee.50webs.com/directory/salvatore-spoto.htm salvatore spoto]] [[http://ivo-lisses.ifrance.com/description/plan-de.htm plan de corones]] [[http://kissy-sait.ifrance.com/polizia-municipale1/ polizia municipale treviso]] [[http://rhin-per.ifrance.com/maxtor-plus1.htm maxtor plus 10]] [[http://rndroponyer.50webs.com/lib/cartuccia-epson3/ cartuccia epson c60]] [[http://yourstodestroy.50webs.com/ucelli-giuliana/ ucelli giuliana]] [[http://restartsaber.50webs.com/racconto-amatoriale.htm racconto amatoriale]] [[http://rhin-per.ifrance.com/progetto-stampa.htm progetto stampa]] [[http://restartsaber.50webs.com/informadove.htm informadove]] [[http://dancfiri-dance.ifrance.com/quel-diavolo/ quel diavolo di ragazza]] [[http://lent-san.ifrance.com/data/successi-anni.htm successi anni 80]] [[http://darkmordor.50webs.com/description/tenda-usata.htm tenda usata]] [[http://rndroponyer.50webs.com/lib/tetovaza/ tetovaza]] [[http://restartsaber.50webs.com/palmare-gprs4.htm palmare gprs gsm]] [[http://nikanaw-ru.ifrance.com/blog/fack-it1.htm fack it girl]] [[http://weaselbitch.50webs.com/text/log-di1/ log di attivazione]] [[http://irishais.50webs.com/text/zafira-km1/ zafira km zero]] [[http://arelpei-cnek.ifrance.com/lib/passa-tutto/ passa tutto]] [[http://rhin-per.ifrance.com/oudtshoorn.htm oudtshoorn]] [[http://arelpei-cnek.ifrance.com/lib/processori-pentium/ processori pentium 4]] [[http://irishais.50webs.com/text/mobili-per3/ mobili per computer]] [[http://captlychee.50webs.com/directory/www-highschool.htm www highschool com]] [[http://ladyshock.50webs.com/il-duomo/ il duomo assicurazioni]] [[http://rhin-per.ifrance.com/hdd-scsi1.htm hdd scsi rx200 s2]] [[http://yourstodestroy.50webs.com/i-belive5/ i belive in a thing called love video]] [[http://weaselbitch.50webs.com/text/geosat-navigatore/ geosat navigatore]] [[http://rhin-per.ifrance.com/vittorio-veneto.htm vittorio veneto]] [[http://abelle34st.50webs.com/small/video-asiatiche.htm video asiatiche]] [[http://captlychee.50webs.com/directory/najlepsze-pozostanie.htm najlepsze pozostanie]] [[http://weaselbitch.50webs.com/text/il-quarto/ il quarto desiderio]] [[http://irishais.50webs.com/text/deep-dish/ deep dish]] [[http://ear-house.ifrance.com/paloalto/ paloalto]] [[http://genka-manjer.ifrance.com/blog/ufficio-vicenza/ ufficio vicenza]] [[http://arelpei-cnek.ifrance.com/lib/canon-powershot16/ canon powershot a620]] [[http://ladyshock.50webs.com/l-oceano/ l oceano del silenzio]] [[http://ivo-lisses.ifrance.com/description/donne-pisa.htm donne pisa]] [[http://nikanaw-ru.ifrance.com/blog/carolina-invernizio.htm carolina invernizio]] [[http://ear-house.ifrance.com/maradona-ultime/ maradona ultime foto scandalo]] [[http://dancfiri-dance.ifrance.com/foto-grande2/ foto grande fratello 2]] [[http://ladyshock.50webs.com/Amateur-anal1/ amateur anal]] [[http://ivo-lisses.ifrance.com/description/inculate-trans.htm inculate trans]] [[http://yourstodestroy.50webs.com/bisex-uomo/ bisex uomo marche]] [[http://ear-house.ifrance.com/indennita-risoluzione/ indennita risoluzione rapporto]] [[http://rndroponyer.50webs.com/lib/background-colours/ background colours]] [[http://tumma-valo.ifrance.com/html/sp-afmm/ sp af2875mm f 2 8 xr]] [[http://arelpei-cnek.ifrance.com/lib/foto-sabrina/ foto sabrina ferilli nuda]] [[http://genka-manjer.ifrance.com/blog/daniela-fini/ daniela fini]] [[http://restartsaber.50webs.com/luigi-boccherini1.htm luigi boccherini]] [[http://ladyshock.50webs.com/wau/ wau]] [[http://yourstodestroy.50webs.com/antoinejoseph-adolphe/ antoinejoseph adolphe sax]] [[http://restartsaber.50webs.com/il-ragazzo9.htm il ragazzo della baia]] [[http://weaselbitch.50webs.com/text/incontri-supereva/ incontri supereva com]] [[http://lent-san.ifrance.com/data/jerry.htm jerry]] [[http://tumma-valo.ifrance.com/html/volo-per5/ volo per ibiza]] [[http://nikanaw-ru.ifrance.com/blog/polo-volkswagen.htm polo volkswagen 2001]] [[http://ladyshock.50webs.com/vampires-vs/ vampires vs zombies]] [[http://restartsaber.50webs.com/philips-32.htm philips 19 lcd 190s6]] [[http://yourstodestroy.50webs.com/miglia/ miglia]] [[http://tumma-valo.ifrance.com/html/cha-cha10/ cha cha slide dj casper]] [[http://ear-house.ifrance.com/s-mx/ s m40x 269]] [[http://kissy-sait.ifrance.com/modem-dsl2/ modem dsl 300t]] [[http://darkmordor.50webs.com/description/anima-di.htm anima di clown]] [[http://weaselbitch.50webs.com/text/globalsat-bluetooth1/ globalsat bluetooth gps bt338]] [[http://rndroponyer.50webs.com/lib/troncatrice-nastro/ troncatrice nastro]] [[http://lent-san.ifrance.com/data/driver-motorola17.htm driver motorola v220]] [[http://tumma-valo.ifrance.com/html/fuori-dalla/ fuori dalla nebbia]] [[http://rndroponyer.50webs.com/lib/sony-mdr7/ sony mdr v 500]] [[http://ivo-lisses.ifrance.com/description/hotel-50.htm hotel 2 stelle]] [[http://arelpei-cnek.ifrance.com/lib/robie-wiliams/ robie wiliams]] [[http://ladyshock.50webs.com/rete-letto/ rete letto]] [[http://nikanaw-ru.ifrance.com/blog/benni-benassi1.htm benni benassi illusion]] [[http://weaselbitch.50webs.com/text/una-spada1/ una spada per due cuori]] [[http://restartsaber.50webs.com/concierto-di.htm concierto di aranjuez]] [[http://restartsaber.50webs.com/dvd-hdmi2.htm dvd hdmi yamaha]] [[http://kissy-sait.ifrance.com/peugeot9/ peugeot 106 2001]] [[http://kissy-sait.ifrance.com/potenza-di/ potenza di picco]] [[http://kissy-sait.ifrance.com/galeazzi-giampiero/ galeazzi giampiero]] [[http://weaselbitch.50webs.com/text/astyle-abbigliamento1/ astyle abbigliamento]] [[http://dancfiri-dance.ifrance.com/sotalolo/ sotalolo]] [[http://lent-san.ifrance.com/data/printr-nori.htm printr nori]] [[http://rndroponyer.50webs.com/lib/battista/ battista]] [[http://rhin-per.ifrance.com/televisori-v.htm televisori 12v]] [[http://rhin-per.ifrance.com/crociera-barca1.htm crociera barca vela italia]] [[http://ear-house.ifrance.com/pensiero-e/ pensiero e parole]] [[http://rndroponyer.50webs.com/lib/blero-kthehu/ blero kthehu]] [[http://abelle34st.50webs.com/small/frasi-auguri7.htm frasi auguri matrimonio]] [[http://restartsaber.50webs.com/laurea-ringraziamenti.htm laurea ringraziamenti]] [[http://captlychee.50webs.com/directory/anche-in1.htm anche in italia i punti di accesso nintendo wifi]] [[http://weaselbitch.50webs.com/text/marrocchi/ marrocchi]] [[http://tumma-valo.ifrance.com/html/destino-trasversale/ destino trasversale]] [[http://tumma-valo.ifrance.com/html/multipower-energy/ multipower energy charge]] [[http://ladyshock.50webs.com/little-light/ little light of love r x r a]] [[http://ladyshock.50webs.com/tomahawk/ tomahawk]] [[http://captlychee.50webs.com/directory/bitch-games.htm bitch games]] [[http://dancfiri-dance.ifrance.com/videoclip-da/ videoclip da scaricare gratis]] [[http://captlychee.50webs.com/directory/horloge-harry.htm horloge harry potter]] [[http://lent-san.ifrance.com/data/basi-karaoke3.htm basi karaoke scaricabili gratis]] [[http://kissy-sait.ifrance.com/game-boy18/ game boy online]] [[http://weaselbitch.50webs.com/text/banda-bassoti/ banda bassoti]] [[http://lent-san.ifrance.com/data/lcd-tv21.htm lcd tv 23 samsung]] [[http://lent-san.ifrance.com/data/basi-musicali8.htm basi musicali napoletane gratis]] [[http://dancfiri-dance.ifrance.com/playstation-slim1/ playstation slim]] [[http://yourstodestroy.50webs.com/lettori-mp118/ lettori mp3 120 gb]] [[http://ladyshock.50webs.com/export-area/ export area manager (regione lombardia  pavia provincia)]] [[http://captlychee.50webs.com/directory/prince-of9.htm prince of persia 2 trailer 5]] [[http://dancfiri-dance.ifrance.com/www-esmas/ www esmas chat com]] [[http://rndroponyer.50webs.com/lib/baikal/ baikal]] [[http://captlychee.50webs.com/directory/video-filmati.htm video filmati gratis]] [[http://restartsaber.50webs.com/bmw-88.htm bmw 530 touring]] [[http://yourstodestroy.50webs.com/heaven-is2/ heaven is a halfpipe]] [[http://restartsaber.50webs.com/immagini-talpa.htm immagini talpa con paola perego]] [[http://rhin-per.ifrance.com/software-chimica.htm software chimica]] [[http://restartsaber.50webs.com/progettazione-giardino1.htm progettazione giardino calabria]] [[http://restartsaber.50webs.com/sony-64.htm sony  dscv3]] [[http://ladyshock.50webs.com/sirena-nave/ sirena nave]] [[http://rndroponyer.50webs.com/lib/franco-de4/ franco de bita]] [[http://rhin-per.ifrance.com/statuto-regione.htm statuto regione lombardia]] [[http://ivo-lisses.ifrance.com/description/radeon-xpro4.htm radeon x800pro vivo]] [[http://genka-manjer.ifrance.com/blog/fornitura-ufficio/ fornitura ufficio catania]] [[http://ladyshock.50webs.com/televisori-32/ televisori 32 pollici lcd sony]] [[http://arelpei-cnek.ifrance.com/lib/samsung-e/ samsung e 710]] [[http://ladyshock.50webs.com/elicotteri-da/ elicotteri da modellismo]] [[http://kissy-sait.ifrance.com/casa-vianello/ casa vianello]] [[http://yourstodestroy.50webs.com/lauder-fondotinta/ lauder fondotinta]] [[http://restartsaber.50webs.com/maxtor-yl1.htm maxtor 6y060l0]] [[http://arelpei-cnek.ifrance.com/lib/hdtv-lcd1/ hdtv lcd]] [[http://genka-manjer.ifrance.com/blog/cazzo-nero2/ cazzo nero]] [[http://genka-manjer.ifrance.com/blog/power-ranger1/ power ranger]] [[http://tumma-valo.ifrance.com/html/resident-evil23/ resident evil outbreak file 2 ha una data statunitense]] [[http://captlychee.50webs.com/directory/mercedes-classe23.htm mercedes classe]] [[http://tumma-valo.ifrance.com/html/on-heavens/ on heavens door]] [[http://ladyshock.50webs.com/christmas-sexi/ christmas sexi]] [[http://ivo-lisses.ifrance.com/description/u-bomb.htm u2 bomb]] [[http://ladyshock.50webs.com/uccisione-delle1/ uccisione delle 2 simone]] [[http://tumma-valo.ifrance.com/html/bice-testo/ bice testo canzone]] [[http://nikanaw-ru.ifrance.com/blog/san-antonio2.htm san antonio tx]] [[http://ear-house.ifrance.com/codigo-acii/ codigo acii]] [[http://nikanaw-ru.ifrance.com/blog/olympus-camedia22.htm olympus camedia c 765]] [[http://nikanaw-ru.ifrance.com/blog/jessica-simpson3.htm jessica simpson take my breath away]] = Introduction =
+
= Introduction =
 
This page is to talk about '''[[alternates]]''', that is, places where a user may be given several different items to choose amongst that at some logical level are considered equivalent. The best stawman so far is [[#Strawman_6_.28lists_.2B_explicit_alternator_.2B_using_existing_HTML_idiom.29|#6]].
 
This page is to talk about '''[[alternates]]''', that is, places where a user may be given several different items to choose amongst that at some logical level are considered equivalent. The best stawman so far is [[#Strawman_6_.28lists_.2B_explicit_alternator_.2B_using_existing_HTML_idiom.29|#6]].
  
Line 90: Line 90:
 
* I like this a lot, and the ul/ol distinction is good, but the rel="alternate" should be there too.
 
* I like this a lot, and the ul/ol distinction is good, but the rel="alternate" should be there too.
  
== Strawman 5 (lists   explicit alternator) ==
+
== Strawman 5 (lists + explicit alternator) ==
  
 
This varies #4, explicitly stating what is being alternated. Let's say we're trying to express "location". If there was no alternates, we'd just say:
 
This varies #4, explicitly stating what is being alternated. Let's say we're trying to express "location". If there was no alternates, we'd just say:
Line 127: Line 127:
 
* A drawback is that it departs from existing idioms for microformats.
 
* A drawback is that it departs from existing idioms for microformats.
 
* A plus is that the same method can be applied to other variants of the Alternates microformat.  Let's say you have some MF that depends on a class "photo" to distinguish which one of multiple IMG elements is the alternate, you can declare the OL or UL with class="photo alternates".
 
* A plus is that the same method can be applied to other variants of the Alternates microformat.  Let's say you have some MF that depends on a class "photo" to distinguish which one of multiple IMG elements is the alternate, you can declare the OL or UL with class="photo alternates".
* Another plus is that the technique can extend out to more than one item per option, like if there must be both a photo and a location; that would be
+
* Another plus is that the technique can extend out to more than one item per option, like if there must be both a photo and a location; that would be <ul class="photo location alternates" />
 +
* I have one real doubt.  If we're inventing a new syntax to extend the Alternates MF even before the ink is dry, I'm not certain it is adding anything except a hint to help search engines understand the page.  I have to think about that issue a bit more.
 +
 
 +
[[User:DavidJanes|David Janes]]:
 +
* I love the fact that it can be applied to other MFs. For example, you could do something like this to express alternate vcards for the same person...
 +
 
 +
<pre><nowiki>
 +
<ol class="vcard alternates">
 +
  <li><div class="vcard">vcard 1</li>
 +
  <li><div class="vcard">vcard 2</li>
 +
</ol>
 +
</nowiki></pre>
 +
 
 +
* ... that said, it'd probably be best to run this past everyone else, as it does change the way parsing would happen. Perhaps it's only valid for inner elements?
 +
 
 +
== Strawman 6 (lists + explicit alternator + using existing HTML idiom) ==
 +
 
 +
The idiom seems to apply to media files a lot, so bringing in rel=enclosure makes sense here.
 +
At the HTML level rel="alternate" is used for stating alternatives (normally on a <nowiki><link></nowiki>, but <nowiki><link></nowiki> and <nowiki><a></nowiki> have the same semantic), and type is applied to the links as a MIME type.
 +
 
 +
http://www.w3.org/TR/html4/struct/links.html#h-12.3
 +
 
 +
If you are listing alternatives, use  a list
 +
 
 +
So for your examples, a possible model would be (OL is used to express ordered preference)
 +
 
 +
<pre><nowiki>
 +
<ol class="alternates">
 +
<li><a href="example.mp3" rel="enclosure alternate" type="audio/mpeg">MP3 alternative</a></li>
 +
<li><a href="example.wav" rel="enclosure alternate" type="audio/wav">WAV alternative</a></li>
 +
<li><a href="example.mov" rel="enclosure alternate" type="video/quicktime">MOV alternative</a></li>
 +
</ol>
 +
</nowiki></pre>
 +
 
 +
Following the links syntax, language alternatives can be expressed too (UL indicates no preference in order):
 +
 
 +
<pre><nowiki>
 +
<ul class="alternates">
 +
<li><a href="enexample.mp3" rel="enclosure alternate" type="audio/mpeg" hreflang="en">In English</a></li>
 +
<li><a href="esexample.mp3" rel="enclosure alternate" type="audio/mpeg" hreflang="es">En Espagnol</a></li>
 +
<li><a href="deexample.mp3" rel="enclosure alternate" type="audio/mpeg" hreflang="de">Auf Deutsch</a></li>
 +
</ul>
 +
</nowiki></pre>
 +
=== Discussion ===
 +
[[User:Kevin Marks|Kevin Marks]]: I think this retains what you have, and brings it back in line with existing HTML practices. I have a stylistic nitpick about 'alternates' rather than 'alternatives' but as HTML has already gone the other way on that I can concede it. Is class="alternates" distinct enough to prevent false positives in looking for this structure?
 +
 
 +
[[User:DrErnie|DrErnie]]: What if there is no existing attribute for selecting against?  Say I have both hi-res and low-res versions of a QuickTime movie available for streaming?  Is there any appropriate way to hint/label that?
 +
 
 +
[[User:Kevin Marks|Kevin Marks]]: For streaming, I'd say use the built-in QuickTime Alternates mechanism that relies on detected bandwidth. I'd also say "don't use streaming, use fast-start download", and give the users a visible choice about which one to download (see [http://www.apple.com/trailers/disney/cars/hd/ The Cars trailer] for one set of options).
 +
 
 +
[[User:AndyMabbett|Andy Mabbett]]: "alternates" is an appaling name. If "alternatives" can't be used, what about "choice"?
 +
 
 +
= See Also =
 +
* [[alternates-examples]]
 +
* [[alternates-brainstorming]]
 +
* [[media-metadata-examples]] -- Yahoo's Media RSS uses this

Revision as of 09:45, 25 October 2007

Introduction

This page is to talk about alternates, that is, places where a user may be given several different items to choose amongst that at some logical level are considered equivalent. The best stawman so far is #6.

Discussion Participants

Editor

Authors

Interested Folks

  • Joshua Kinberg
  • Ernest Prabhakar
  • Sean Gilligan

Brainstorms

Strawman 1

<fieldset>
 <a href="example.mp3" type="audio/mpeg">MP3 alternative</a>
 <a href="example.wav" type="audio/wav">WAV alternative</a>
 <a href="example.mov" type="video/quicktime">MOV alternative</a>
</fieldset> 

XHTML Sample

Discussion

  • is legal but warps XHTML definitions -- David Janes
  • I think that is fieldset abuse -1 KevinMarks

Strawman 2

   <select id="entryN">
     <option value="example.mp3">MP3 alternative</option>
     <option value="example.mov">WAV alternative</option>
     <option value="example.wav">MOV alternative</option>
   </select> 

XHTML Sample

Discussion

  • is legal but warps XHTML definitions -- David Janes
  • butt ugly, probably beyond redemption -- David Janes
  • the alternatives aren't clearly links -1 KevinMarks

Strawman 3

<div class="altgroup">
 <a class="alternate" href="example.mp3" type="audio/mpeg">MP3 alternative</a>
 <a class="alternate" href="example.wav" type="audio/wav">WAV alternative</a>
 <a class="alternate" href="example.mov" type="video/quicktime">MOV alternative</a>
</div> 

Discussion

  • Looks better, but we have an existing rel="alternate" in HTML

Strawman 4 (lists)

An example of a list that expresses no preference.

<ul class="altgroup">
 <li><a href="example.mp3" type="audio/mpeg">MP3 alternative</a></li>
 <li><a href="example.wav" type="audio/wav">WAV alternative</a></li>
 <li><a href="example.mov" type="video/quicktime">MOV alternative</a></li>
</ul> 

An example of a list that expresses a preference (i.e. first is best, last is worst)

<ol class="altgroup">
 <li><a href="example.mp3" type="audio/mpeg">MP3 alternative</a></li>
 <li><a href="example.wav" type="audio/wav">WAV alternative</a></li>
 <li><a href="example.mov" type="video/quicktime">MOV alternative</a></li>
</ol> 

Discussion

  • this rocks, though I'm a little indifferent to altgroup. The only downside is that 'loosely coupled' alternates may not be covered; on the other hand, this may not be so much of an issue. We will know more from the examples -- David Janes
  • I like this a lot, and the ul/ol distinction is good, but the rel="alternate" should be there too.

Strawman 5 (lists + explicit alternator)

This varies #4, explicitly stating what is being alternated. Let's say we're trying to express "location". If there was no alternates, we'd just say:

<a href="example.mp3" class="location">MP3</a>

Now, let's say that we have multiple choices. Here's what I think it should look like:

<ol class="location alternates">
  <li>
    <a href="example.mp3" class="location">MP3</a>
    <br />
    I ripped this one using <a href="...">iTunes</a>
  </li>
  <li>
    <a href="example.wma" class="location">WMA</a>
    <br />
    I ripped this one using <a href="...">Windows Media</a>
  </li>
</ol> 

Discussion

David Janes:

  • "alternates" indicates there's a bunch of choices to follow
  • "location" appears multiple times because ...
  • "location alternates" indicates we're _composing_ the alternates MF with "location"

Lucas Gonze:

  • I fiddled around with CSS and javascript to support this and found it was pretty easy to work with. That's a big plus.
  • A drawback is that it departs from existing idioms for microformats.
  • A plus is that the same method can be applied to other variants of the Alternates microformat. Let's say you have some MF that depends on a class "photo" to distinguish which one of multiple IMG elements is the alternate, you can declare the OL or UL with class="photo alternates".
  • Another plus is that the technique can extend out to more than one item per option, like if there must be both a photo and a location; that would be <ul class="photo location alternates" />
  • I have one real doubt. If we're inventing a new syntax to extend the Alternates MF even before the ink is dry, I'm not certain it is adding anything except a hint to help search engines understand the page. I have to think about that issue a bit more.

David Janes:

  • I love the fact that it can be applied to other MFs. For example, you could do something like this to express alternate vcards for the same person...
<ol class="vcard alternates">
  <li><div class="vcard">vcard 1</li>
  <li><div class="vcard">vcard 2</li>
</ol>
  • ... that said, it'd probably be best to run this past everyone else, as it does change the way parsing would happen. Perhaps it's only valid for inner elements?

Strawman 6 (lists + explicit alternator + using existing HTML idiom)

The idiom seems to apply to media files a lot, so bringing in rel=enclosure makes sense here. At the HTML level rel="alternate" is used for stating alternatives (normally on a <link>, but <link> and <a> have the same semantic), and type is applied to the links as a MIME type.

http://www.w3.org/TR/html4/struct/links.html#h-12.3

If you are listing alternatives, use a list

So for your examples, a possible model would be (OL is used to express ordered preference)

<ol class="alternates">
 <li><a href="example.mp3" rel="enclosure alternate" type="audio/mpeg">MP3 alternative</a></li>
 <li><a href="example.wav" rel="enclosure alternate" type="audio/wav">WAV alternative</a></li>
 <li><a href="example.mov" rel="enclosure alternate" type="video/quicktime">MOV alternative</a></li>
</ol> 

Following the links syntax, language alternatives can be expressed too (UL indicates no preference in order):

<ul class="alternates">
 <li><a href="enexample.mp3" rel="enclosure alternate" type="audio/mpeg" hreflang="en">In English</a></li>
 <li><a href="esexample.mp3" rel="enclosure alternate" type="audio/mpeg" hreflang="es">En Espagnol</a></li>
 <li><a href="deexample.mp3" rel="enclosure alternate" type="audio/mpeg" hreflang="de">Auf Deutsch</a></li>
 </ul> 

Discussion

Kevin Marks: I think this retains what you have, and brings it back in line with existing HTML practices. I have a stylistic nitpick about 'alternates' rather than 'alternatives' but as HTML has already gone the other way on that I can concede it. Is class="alternates" distinct enough to prevent false positives in looking for this structure?

DrErnie: What if there is no existing attribute for selecting against? Say I have both hi-res and low-res versions of a QuickTime movie available for streaming? Is there any appropriate way to hint/label that?

Kevin Marks: For streaming, I'd say use the built-in QuickTime Alternates mechanism that relies on detected bandwidth. I'd also say "don't use streaming, use fast-start download", and give the users a visible choice about which one to download (see The Cars trailer for one set of options).

Andy Mabbett: "alternates" is an appaling name. If "alternatives" can't be used, what about "choice"?

See Also