- From: Matthew Raymond <mattraymond@earthlink.net>
- Date: Sat, 25 Jun 2005 13:49:02 -0400
This is a specification of my selection system that I discussed over several previous messages. A few modifications have been made since then, so reference this rather than previous messages. *** |selection| attribute *** selection = single | multiple [allowzero] [auto] [tree] The |selection| attribute specifies that the element is a container for selectable content. Possible values: * single - Mutually exclusive selection. Can't be used with "multiple". * multiple - Multiple item selection. Cannot be used with "single". * tree - Makes the current selection part of the parent selection. * allowzero - Allows for the selection of zero items. * auto - Default value for an immediate child |selectable| attribute is "true". *** |selectable| attribute *** selectable = true | false The |selectable| attribute determines whether or not an element within a selection container is selectable. If the element does not have an ancestor with a valid |selection| attribute value set, then the |selectable| attribute is semantically meaningless. Possible values: * true - The element can be selected. * false - The element cannot be selected. Unless the immediate parent element is a selection container with the value "auto" specified, the default is always false. If an element has |selectable| set to "true", then the |selectable| attributes for all descendants that are not children of descendant selection container elements are semantically meaningless. *** |selected| attribute *** The |selected| attribute now applies to all selectable elements in addition to the <option> element. *** Examples *** The following is a table with only the first cell of each row selectable: | <table selection="single"> | <tr> | <td selectable="true" selected>Item 1</td> | <td> ...contents... </td> | <td> ...contents... </td> | </tr> | <tr> | <td selectable="true">Item 2</td> | <td> ...contents... </td> | <td> ...contents... </td> | </tr> | <tr> | <td selectable="true">Item 3</td> | <td> ...contents... </td> | <td> ...contents... </td> | </tr> | </table> This is a multiple-selection list with the first item selected: | <ul selection="multiple auto"> | <li selected>Item 1</li> | <li>Item 2</li> | <li>Item 3</li> | </ul> Below is a multiple-selection list-based tree where only the leaves are selectable: | <ul selection="multiple auto"> | <li selectable="false"> | <p>Item 1</p> | <ul selection="multiple auto tree"> | <li>Item 1</li> | <li>Item 2</li> | <li>Item 3</li> | </ul> | </li> | <li>Item 2</li> | <li>Item 3</li> | </ul> Here is an example of a table where all rows but the header row are selectable: | <table selection="single"> | <tbody> | <tr> | [...header row...] | </tr> | <tr selectable="true" selected> | [...first row of block two data...] | </tr> | <tr selectable="true"> | [...second row of block two data...] | </tr> | <tr selectable="true"> | [...third row of block two data...] | </tr> | </tbody> | </table> Here's a different version of the above example: | <table> | <tbody selection="single auto"> | <tr selectable="false"> | [...header row...] | </tr> | <tr selected> | [...first row of block two data...] | </tr> | <tr> | [...second row of block two data...] | </tr> | <tr> | [...third row of block two data...] | </tr> | </tbody> | </table>
Received on Saturday, 25 June 2005 10:49:02 UTC