From Microformats Wiki
value-excerption-value-title-test /
Revision as of 08:55, 6 January 2009 by BenWard (talk | contribs) (Unfinished Page; needs test cases adding: Hoping to put full test cases live tomorrow and encourage widespread test start tomorrow evening (-0800))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

<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

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 a rendering behavior whereby an empty element, that is one containing no inner text, is ignored by browsers rendering, but remains in the DOM tree. This allows an element to be included in the document with a title as above, but without the tooltip being exposed to users. Additionally, it is reliably reported that these empty elements are not passed to assistive technology either, so the machine data does not override presentation of content to users of screen readers.

Since this pattern attempts to resolve some long standing issues with including required machine-data in microformats, it's imperative we get this tested completely before adding it to a draft spec. So, following are a number of examples. Please try them out. Push them into publishing systems, editor apps and tools, and see that it comes the way you expect on the other side; render them in desktop browsers, mobile browers, screen readers, in braille… anything you can check, we wanted to know that it works, 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 a little odd at first glance, but the reasoning is this: The ‘machine data’ is not meta-data, it is still content, so it's structurally appropriate to have it as a sibling to the human text.

Note that functioning with valid HTML is part of microformats, so inventing new attributes, using non-standard DOCTYPEs or XML extensions is not an applicable option for this syntax. We're trying to achieve something as gracefully as we can within the limits of HTML, without doing anything to harm user experience.

The proposed parsing rules

The main proposed parsing rules and restrictions for this pattern are as follows:

  • Only one empty-value element may be included as a child of the property. No splitting or concatenation.
  • The empty-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 empty element can be any element, but as a generic, span is most appropriately. You could use u if you wanted to save bytes, or input 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.

An hAtom Article

An hCalendar Event

An hCard Profile

An hAudio Song


Please file general issues concerning this pattern on the main issues page, and only report responses to this test on this page.

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 a verified successes.


Environments Passing Tests
Test Environment Rendering/Publishing? Platforms Verified By
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 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.


Fake Web 3.1 (ß3)

Mac OSX 10.5
Verified By
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 on fire. I think using a self closing XHTML tag instead might work-around the problem. I think this is a bug.