Grail Test Page: List Item Handling

Let's start with a plain list.

Let's try ordered lists.
  1. One.
  2. Two.
  3. Three. Nested ordered list:
    1. Ahh.
    2. Behh.
  4. Four. Nested unordered list:
  5. Five. Are you bored yet?
A unordered list with a dingbat. Another list:
  1. This is an ordered list with a mix of short & long list items.
  2. This one is short.
  3. This one is not short. It is fairly long even though it has almost nothing to say. This is needed because we want a test case with something that is highly likely to wrap to the next line. If this doesn't wrap around to form multiple lines, make the window of your user agent narrower.
  4. This one should be numbered ``5'' even though it's the fourth item in the list. This tests the VALUE attribute.
  5. This doesn't specify a value, and should be item 6.
Here is a separate ordered list, with START=3:
  1. This is an item.
  2. Here's another item.
Here is another ordered list, with SEQNUM=10 and TYPE="[i]".
  1. This is an item.
  2. Here's another item.
Here is another ordered list, with SEQNUM=10, START=5, and COMPACT.
    This list has a heading:
  1. This is an item.
  2. Here's another item.
  3. This item includes TYPE=square in the <LI> tag, just for good measure.
  4. This accepts the default TYPE for this item. Showing this item with the square instead of a number is ugly, but conforms to the practices of other browsers in handling TYPE.
Here is another ordered list, with TYPE=disc.
  1. This is an item.
  2. Here's another item with a nested list:
  3. And back to the first list, with TYPE=square.
Another list, with the PLAIN attribute:
  • This is a list item outside a list.
  • This is a long list item outside a list. There isn't any good reason to use such a construct, and it is clearly invalid HTML, but some fools actually write HTML like this. We want Grail to handle this at least somewhat gracefully, so we've included a test case to show that it does. Hopefully.
  • This list item is outside a list construct but uses the VALUE attribute with ``1'' for the value.
  • This is an orphaned list item as well, but uses DINGBAT=summary. Dingbats get tossed if not in a real list since add_label_data() gets bypassed.

    Definition List

    Definition lists have been a problem in past versions of Grail. When a definition list was nested inside the <DT> element (illegal in HTML 2.0, but its out there), the left margin of the nested list was not correctly indented.

    Some text before the list...
    Nested Term
    Nested Definition
    More of first definition.
    Another Term
    Nested Term
    Nested Definition
    ...and after.