From HTML WG Wiki
Bookmark and clipping support
Corresponds to issue number 47
Problem statement / use cases
- Authors and users may often want to specify a single point in a document or express a clipping of a document that cannot be easily expressed as a well-formed document fragment (i.e., its beginning and ending cannot not be marked by properly nested start and end tags). In other document formats, these marks are often referred to ‘bookmarks’ though in a different sense than the URL bookmarks often associated with HTML. Other document formats also support arbitrary clipmarks with a start and end point. Authors and users both make use of these bookmarks and clipmarks in other formats.
- A user wants to markup their own copy of a document with important bookmarks or passages.
- An author of archival document wants to insert explicit page breaks where pages may break at arbitrary points in a text and frequently not in between paragraphs.
- An author wants to otherwise wrap markup content in a non-hierarchical manner (such as passages or important quotations)
Proposed void element
A ‘bmark’ or ‘bookmark’ void element with a default CSS display of 'none' and associated attributes
- ‘clip’ (NMToken)
- ‘type’ (Name)
Proposed global ‘clip’ attribute
- ‘clip’ (NMToken)
A clip or clipping of an author specified name, ‘example-clip’, represents the entire contents of the first element containing a clip attribute value of ‘example-clip’ and the last element containing a clip value of ‘example-clip’ and everything in between. DOM methods or regular expression text processing on the document source could permit authors and users to extract or otherwise manipulate the clipping identified by the clip attribute.
For possible methods of styling such clippings, see CSS3’s proposed change bar which provides styling of similar non-hierarchical aspects of hierarchical content.
Of course such bookmarks can already be styled with CSS to provide forced page break information where none otherwise exists.
Discussion and evaluation
- initial issue-tracker message
- concern regarding supporting non-hierarchical constructs in HTML and proposing the use of an empty M (mark) element instead of another newly introduced dedicated void element (Andrew Sidwell)
- CSS3 Generated Content for Paged Media
- Wikipedia's <ref> and <references> elements solution