Difference between revisions of "include-pattern-feedback"

From Microformats Wiki
Jump to navigation Jump to search
Line 18: Line 18:
 
   //Works only for linked include-pattern definition at microformats.org
 
   //Works only for linked include-pattern definition at microformats.org
 
   //Requires Simon Willison's getElementsBySelector()
 
   //Requires Simon Willison's getElementsBySelector()
   //  and standard IE workaround for addEventListener()
+
   //  and normal IE workaround for addEventListener()
 
   addEventListener( window, 'load', function() {
 
   addEventListener( window, 'load', function() {
 
     var myIncludes = document.getElementsBySelector( 'a[href].include' ), a, e;
 
     var myIncludes = document.getElementsBySelector( 'a[href].include' ), a, e;

Revision as of 08:39, 23 October 2006

Include Pattern Feedback

Feedback about include-pattern.

Objects and Browser Behavior

Over at Yahoo! Local, we were using the object include pattern for all our hReviews on business detail pages and review listings. That is, until we realized that Safari and Internet Explorer both try to embed the entire page with every OBJECT call. (Firefox correctly recognizes that it's a local object and doesn't reload anything.)

On a page with 20+ reviews, this means a substantial increase in load time and memory consumption. As a result of this (bad) browser behavior, we removed the objects entirely.

Any suggestions for workarounds or modifications to the pattern?

-- AndyBaio 29 Jun 2006

Can you use the hyperlink option with DHMTL/Ajax to perform replacements in advanced browsers? (Simon Willison's getElementsBySelector() may be helpful)

 <a href="#id" class="include" title=""></a>

with something like:

 //Works only for linked include-pattern definition at microformats.org
 //Requires Simon Willison's getElementsBySelector()
 //  and normal IE workaround for addEventListener()
 addEventListener( window, 'load', function() {
   var myIncludes = document.getElementsBySelector( 'a[href].include' ), a, e;
   for( var i=0; a=myIncludes[i]; i++ ) if (a.href.charAt(0)=='#') {
     e = document.getElementsBySelector( a.href )[0].cloneNode( true );
     a.parentNode.replaceChild( e, a );
   }
 })

--RichHall 00:51, 23 Oct 2006 (PDT)

Hyperlink Include - Screen Reader Testing

Some concerns have been raised over the implications using empty hyperlinks may have on assistive devices such as screen readers. One concern is that an empty link may be read out, partially read out or result in some other confusing scenario for the user.

In response, a test page consisting of a number of empty hyperlinks in the style suggested by the pattern has been created. A 'good' result is that none of the links be read out.

Test Results: JAWS 7.0 with Firefox 1.5/Win

Tested by Frances Berriman 2006-07-21.

  • 31 dash include dash Mozilla Firefox
  • Page has no links
  • 31 dash include

Conclusion: the hyperlink include pattern presented no usability issues for this screen reader.

Proprietary attribute

HTML tidy on the test page gives:

Warning: <a> proprietary attribute "data"

The W3C validator is similarly unimpressed.

AndyMabbett 14:22, 22 Oct 2006 (PDT)

Use href

To clarify, links on the test page should be changed to use the href attribute as described at include-pattern (without href attributes, the elements probably won't register as hyperlinks, but anchors). Set title="" to fix empty link behavior for many assistive devices. --RichHall 23:31, 22 Oct 2006 (PDT)

Unclear status

It's not clear, either from the main Wiki page or include-pattern, whether this is an agreed standard, a draft, or just a proposal. AndyMabbett 03:14, 18 Oct 2006 (PDT)

  • include-pattern is not its own proposal, draft, or spec. It is a design pattern, as listed on the wiki home page that is included in other proposals, drafts. and specs. Recommend for adding to the include-pattern-faq.
    • And that is not clear, either from the main Wiki page or include-pattern. AndyMabbett 16:40, 18 Oct 2006 (PDT)
      • ACCEPTED. Will further clarify relationship between patterns and formats. Tantek 16:48, 18 Oct 2006 (PDT)