- From: Tony Ross <tross@microsoft.com>
- Date: Mon, 3 May 2010 17:40:55 +0000
- To: "public-html@w3.org" <public-html@w3.org>
I want to share a JavaScript framework oriented scenario for ISSUE-41 that I received from the ASP.NET team at Microsoft. They've been investigating how they can define HTML5-friendly controls that are both easy to use and will validate.
----------
Use Case - Creating a JavaScript DataGrid Widget
Goals:
* Support Progressive Enhancement - Start with a normal HTML table and use custom attributes and a JavaScript library to make the table sortable.
* Support applying multiple widgets to the same table - Avoid colliding with custom attribute names used by another widget (created by someone else).
* Terse Syntax - Avoid repeated typing of long, custom attribute names.
For example, you might start with an HTML table that looks like this:
<table id="productOrders">
<thead>
<tr>
<th
data-myajaxlibrary-sort="desc"
data-myajaxlibrary-datatype="currency"
data-myajaxlibrary-hidden="false">Name</th>
</tr>
...
And then use JavaScript like the following to create the DataGrid:
var dataGrid = new DataGrid("#productOrders");
The trouble with using an attribute like "data-myajaxlibrary-datatype" is:
1) The attribute name requires a lot of typing (realize that you need to repeat these attributes for each table column).
2) There is no guarantee that there won't be a conflict with attribute names used by another widget. For example, multiple JavaScript frameworks would be tempted to use the attribute names like data-datagrid or data-widget-datagrid.
----------
Given their goals, they currently believe something along the lines of Rob's proposal Y (http://www.w3.org/html/wg/wiki/ChangeProposals/fixedprefixsimple) could work for them.
However, they have some feedback there as well:
1) What process determines who gets a particular registered prefix?
- If this is simply first-come-first serve, desirable prefixes may be registered without an intent to actually use them.
- This could lead to a rush to register all potentially desirable prefixes, especially the short ones.
2) What's the guidance for resolving collisions?
- 3rd-party extensions (built on top of the core framework) are the primary concern, especially as they try to pick short prefixes.
- Supporting loading multiple versions of the same library also presents a challenge.
Thoughts?
-Tony
Received on Monday, 3 May 2010 17:41:35 UTC