Michel Fortin wrote:
> <p>This paragraph has a footnote<fnref for="my-footnote"
> ><sup><a href="#my-footnote">1</a></sup></fnref>.</p>
>> <fnl>
> <fn id="my-footnote">
> <p>This footnote can contain block-level elements!</p>
> </fn>
> </fnl>
I have a similar view, although I have some refinements:
| <p annotation="my-footnote">
| This paragraph has a footnote
| <a rel="annotation" href="#my-footnote"><sup>[1]</sup></a>.
| </p>
| [...]
| <footnote>
| <p>References:</p>
| <al>
| <ol>
| <li id="my-footnote">
| <p>This footnote can contain block-level elements!</p>
| </li>
| </ol>
| </al>
| </footnote>
In the example above, |annotation| serves the same purpose as the
<fnref> element. This allows you to associate an entire block of text to
the annotation rather than just a single point. The <footnote> element
is there to allow more extensive content than a simple list. The <al>
element is a list for annotations. It handles the <ol> element in the
same way <datalist> handles <select>, making <ol> only significant for
fallback purposes. Because <al> is a list, it can take straight <li>
elements.
The <a hrel="annotation"> and its contents, when the child of an
element that has an |annotation| attribute, can be ignored by the user
agent and replaced with an annotation-specific presentation. If the
|annotation| attribute is left off, the user agent can assume that the
parent of an <a rel="annotation"> element is the context of the annotation.