value-excerption-value-title-test: Difference between revisions
m (→hAudio#1: An hAudio Song: Swapped to MicroformatsMailingList template) |
(Tweaked intro language.) |
||
Line 11: | Line 11: | ||
It allows you to include [[machine-data|machine-form data]] alongside human form, without polluting visible formatted content with undesired machine form data. | It allows you to include [[machine-data|machine-form data]] alongside human form, without polluting visible formatted content with undesired machine form data. | ||
This pattern is based on | This pattern is based on rendering behavior in browsers whereby an empty element, that is one containing no children (neither textnodes or other elements), remains in the DOM tree but is not rendered visibly to a page. This allows an element to be included in the document with a title as in the example, but without a tooltip being exposed to users, or data read out by screen readers. | ||
Since this pattern attempts to resolve some long standing issues with including | Since this pattern attempts to resolve some long standing issues with including machine-data in microformats, it's imperative this is tested completely before adding it to a spec. Following are a number of examples. Please try them out. Push them into publishing systems, editor apps and tools, and see that it comes out the way you expect on the other side; render them in desktop browsers, mobile browers, screen readers, in braille… anything you can test, we want to know about it. We need to see any quirks, oddities and so on. | ||
Also, by all means provide thoughts on the publishing flow for this. An empty element is | Also, by all means provide thoughts on the publishing flow for this. An empty element is an uncommon structure outside of forms and scripts, but the reasoning is this: ''‘machine data’ is not metadata, it is still content. It's structurally appropriate to have it as a sibling to the human-formatted text.'' | ||
Note that | Note that valid HTML is a cornerstone of microformats. Inventing new attributes, using non-standard DOCTYPEs or XML extensions is not an applicable option. We're trying to achieve something as gracefully as we can within the limits of HTML4, without harming user experience. | ||
==The proposed parsing rules== | ==The proposed parsing rules== | ||
The | The proposed parsing rules and restrictions for this pattern are as follows: | ||
* Only one | * Only one value-element may be included as a child of the property. No splitting or concatenation, no combining with other value-excerption elements. | ||
* The | * The value-element '''must''' be the ''first''-child of the property (not including any preceding whitespace) | ||
* The machine-data value must represent the same data as the visible inner text; the property should not contain arbitrary data. Parsers and validator tools will be invited to test this where appropriate. | * The machine-data value must represent the same data as the visible inner text; the property should not contain arbitrary data. Parsers and validator tools will be invited to test this where appropriate (e.g. some languages have access to date parsing algorithms). | ||
* The empty element can be any element, but as a generic, <code>span</code> is most | * The empty element can be any element, but as a generic, <code>span</code> is most appropriate. You could use <code>u</code> if you wanted to save bytes, or <code>input type=hidden</code> if you think that makes sense. It won't matter to parsers. As per usual µf documentation, <code>span</code> is the generic example. | ||
==The examples== | ==The examples== |
Revision as of 00:44, 9 January 2009
<entry-title>Value Excerption Pattern: Parsing from empty elements test</entry-title> This is a special page to introduce and gather results to widespread testing of a proposed extension to the value-excerption pattern. It looks like this:
<p class='dtstart'>
<span class='value' title='2009-01-06T22:54:00-0800'></span>
January 6th, in the evening
</p>
It allows you to include machine-form data alongside human form, without polluting visible formatted content with undesired machine form data.
This pattern is based on rendering behavior in browsers whereby an empty element, that is one containing no children (neither textnodes or other elements), remains in the DOM tree but is not rendered visibly to a page. This allows an element to be included in the document with a title as in the example, but without a tooltip being exposed to users, or data read out by screen readers.
Since this pattern attempts to resolve some long standing issues with including machine-data in microformats, it's imperative this is tested completely before adding it to a spec. Following are a number of examples. Please try them out. Push them into publishing systems, editor apps and tools, and see that it comes out the way you expect on the other side; render them in desktop browsers, mobile browers, screen readers, in braille… anything you can test, we want to know about it. We need to see any quirks, oddities and so on.
Also, by all means provide thoughts on the publishing flow for this. An empty element is an uncommon structure outside of forms and scripts, but the reasoning is this: ‘machine data’ is not metadata, it is still content. It's structurally appropriate to have it as a sibling to the human-formatted text.
Note that valid HTML is a cornerstone of microformats. Inventing new attributes, using non-standard DOCTYPEs or XML extensions is not an applicable option. We're trying to achieve something as gracefully as we can within the limits of HTML4, without harming user experience.
The proposed parsing rules
The proposed parsing rules and restrictions for this pattern are as follows:
- Only one value-element may be included as a child of the property. No splitting or concatenation, no combining with other value-excerption elements.
- The value-element must be the first-child of the property (not including any preceding whitespace)
- The machine-data value must represent the same data as the visible inner text; the property should not contain arbitrary data. Parsers and validator tools will be invited to test this where appropriate (e.g. some languages have access to date parsing algorithms).
- The empty element can be any element, but as a generic,
span
is most appropriate. You could useu
if you wanted to save bytes, orinput type=hidden
if you think that makes sense. It won't matter to parsers. As per usual µf documentation,span
is the generic example.
The examples
Please test these examples of content, and report any problems as indicated below.
hAtom#1: An hAtom Article
hCal#1: An hCalendar Event
hCard#1: An hCard Profile
hAudio#1: An hAudio Song
If you believe there is a publishing mark-up scenario that these tests do not cover, please post on the mailing list.
Response
- Don't like the empty element? Don't like the use of the title attribute? Please file general issues concerning the proposed pattern on the main value excerption pattern issues page, or discuss them on the mailing list.
- Add the results of and responses to these tests themselves on this page.
Misplaced responses will be moved, and having to do so will make Ben growly, so, y'know, please be helpful.
Successful Tests
List successfully tested environments here. Add new environments as new list items, and expand existing list items with your name and platform variants to indicate verified successes.
Test | Environment | Type | Platforms | Verified By |
---|---|---|---|---|
hAtom#1 | Safari 3.1 | Rendering | Mac OSX 10.5 | User:BenWard |
hCal#1 | Safari 3.0 | Rendering | Mac OSX 10.5 | User:BenWard |
hCard#1 | Safari 3.0 | Rendering | Mac OSX 10.5 | User:BenWard |
Failed Tests
For failures, please provide as much information as you can. The precise impact of the error, whether the behavior could be regarded as a bug in the software you're testing, whether it works in future versions, whether you changed any settings in the software to produce the result, and if so, whether enabling/disabling that setting would be regarded a showstopper if this pattern were certified.
Since we want more detail, please expand failures into headed sections rather than cramming into a table.
For example, take this entirely plausible scenario as a template:
Example: Fake Publisher 3.1ß
- Platform
- Windows Vista
- Verified By
- User:BenWard
- Description
- When trying to enter an empty span in my editor, which I wrote myself whilst I was high, the application immediately crashes, performs
rm -rf /
on all UNIX boxes connected to my local network (which appears to cause Android phones within Bluetooth range to do the same…), and then causes all attached peripherals to combust. I was not able to reproduce, as my house was now on fire. I think using a self closing XHTML tag instead might work-around the problem because as we know, it's been proved by Real Scienticians that XML is always better than HTML. Alternatively, it may be a bug in the beta software. - Notes
- This is a beta release, and a bug has been filed.
- This product has a known history of flammability bugs.
- The user must explicitly enable the ‘Endanger My Life’ checkbox under the ‘Advanced Mislabelled Checkboxes’ tab of the ‘Complicated Preferences’ preferences pane.
- You get the idea.
General Test Feedback
- Any general feedback you have on this test is most welcome. However, if you have issues with the pattern or alternate suggestions, please file them on the main value-excerption-pattern-issues page. Also, please remember to sign your comments with —~~~~ —BenWard 00:12, 9 January 2009 (UTC)