alternates-brainstorming

From Microformats Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

Discussion Participants

Editor

Authors

Interested Folks

  • Joshua Kinberg

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

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

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

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

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?

See Also