So when, exactly, is a list ordered or unordered?
Seems like a simple question, but is it? Do indexes and bibliographies represent ordered lists simply because they have been arranged alphabetically, for example?
I was involved in a interesting debate on the topic the other day with a couple of publishing people and we probably spent over a half hour arguing the merits of each approach for indexes before realizing we were really getting off track of our objective! It was an enlightening argument, if only to have to rationalize the position of no order, so I thought I’d share some of it.
On the pro side of using ordered lists is that publishers have decided an ordered representation for this content, so suggesting that it is unordered data is misleading. The publisher could pick a different order (e.g., a reverse alphabetical sort of the index), but they haven’t, and it doesn’t matter that the data can be stored internally in some other arrangement, or be parsed and used by machine on the reading system end.
I can’t disagree with the argument that there is an ordering to the content for publication, but indexes and bibliographies are sorted alphabetically not because entries starting with the letter “a” are numerically or positionally superior to those that follow, but because alphabetizing is the simplest means for a human to quickly and easily look up information, certainly in an age before computers. But you can rearrange both indexes and bibliographies without changing their meaning in the slightest (and dictionaries and glossaries, for that matter). All it does it make it immensely more difficult for humans to find what they’re looking for effectively.
It’s this ability to re-sort the lists any way you like without loss of information that takes the order out of them. There is nothing intrinsically important about an alphabetically sorted list, if alphabetizing is done for its own sake alone. If I say these are some of my favourite fruits:
You’re not going to question my use of an unordered list. I could rearrange them any way I like and the meaning is unchanged. I only alphabetized the list for simplicity. It makes it easier to find out if you like any of the same, for example, especially as the list grows, but it doesn’t give the list order. I can quickly add order by changing my intention. If I say instead that these are my favourite fruits by how much I like them, now we have order:
You can’t take this list and rearrange it any way you please without changing my meaning. You have to keep the numbering with each item if you do, otherwise it doesn’t reflect my intent.
But that’s a simple case for why I don’t buy the argument that alphabetical sorts of data give them intrinsic order. Context and meaning give order, and as I said earlier on, indexes, bibliographies, dictionaries and glossaries have no meaning beyond each information unit within them. Each entry is self-contained. It can live and die on its own, typically without any associative connection to any other entry (and such links are weak pointers to another entry, at best).
Or put another way, picture these specialized lists rendered as HTML with numbers in front of each entry. Sometimes you don’t want to show this intrinsic order and suppress the numbers (the table of contents comes to mind), but with true ordered lists the numbering has meaning even when presented. If you put numbers in front of index and bibliography lists, what meaning do those numbers have? The numbering is irrelevant because there is no one right order, just a default presentation, and presentation is not supposed to influence the semantic markup of content.
Of course, I’m not going to go so far as to suggest that these lists might never have order. I’m sure there are scenarios in which at least some of them could, but the default alphabetized lists that are traditional in print most often do not. That fact should only become clearer as this book metadata becomes a feature of the reading system instead of a flat display within the content.
Note: The IDPF has working groupings defining markup for indexes and dictionaries/glossaries. The indexes group is using <ul> as its list type and the dictionaries group <dl> (which also does not carry an intrinsic meaning of order).