Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do you use HTML5 tags while supporting Progressive Enhancement for no-script clients that don't natively recognize unknown elements?
    primarykey
    data
    text
    <p>As I understand Progressive Enhancement, one of the basic tenets is the web site should be functional for <em>everyone</em>, regardless of browser version or settings. </p> <p>The suggested breakdown I've seen is:</p> <ul> <li>HTML content layer using semantic markup</li> <li>CSS Presentation layer</li> <li>Enhancement layer (typically through JavaScript or a JS library like JQuery)</li> </ul> <p>I'm a bit confused over the proper way to handle the HTML content layer, however. In particular, the semantic markup.</p> <p>I keep seeing that HTML5 tags such as nav, article, footer etc. are the ideal method of maintaining this semantic markup for PE. However, many older browsers do not support HTML5 tags. The easy way to get around this is to use CSS to set default stylings to { display: block; } for the HTML5 tags, but this only works with some browsers. The dreaded IE6, for example, does not recognize HTML5 elements.</p> <p>The typical workaround for this is to use javascript to dynamically create the missing elements directly into the DOM (such as through an HTML5 shiv).</p> <p>However... if the client is running an environment that doesn't recognize HTML5 elements, <strong>and</strong> they do not, for whatever reason, accept javascript, how do you incorporate HTML5 semantic tags in support of Progressive Enhancement, without failing to render properly for scriptless browsers that don't recognize the tags? Is this possible, or do you have to leave those browsers out of your design consideration (which seems counter to the PE ideals)? </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload