<div>Proposing <nostyle> in the spirit of <noscript></div><div><br></div><div><br></div><div>Examples</div><div>--------</div><div><br></div><div>1) Head Usage</div><div><br></div><div><nostyle></div><div>
�<meta http-equiv="Refresh" content="0;url=/errors/stylerequired.html"></div><div></nostyle></div><div><br></div><div><br></div><div>2) Body Usage</div><div><br></div><div><nostyle></div>
<div>�<h2>Warning: Styles required for correct rendering</h2></div><div></nostyle></div><div><br></div><div><br></div><div>The Obvious Push Back</div><div>---------------------</div><div><br></div><div>Why bother? You can just do this�</div>
<div><br></div><div>.nostyle {display: none;}</div><div><br></div><div><h2 class="nostyle">Warning: Styles required for correct rendering</h2></div><div><br></div><div><br></div><div>And yes while that is true and for many situations will work fine, there are other cases you won't and you can get a sloppy or even bad results because of rendering engine paths. �For example, because style is not applied until later you have an issue here</div>
<div><br></div><div><br></div><div>�<h2 class="nostyle"><img src="error.gif">Warning: Styles required for correct rendering</h2></div><div><br></div><div><br></div><div>The network request happens regardless of situation no assuming images on. �This of course makes the idea of�</div>
<div>��</div><div><br></div><div>�<h2 style="display:none;"><img src="error.php?style=off">Warning: Styles required for correct rendering</h2></div><div><br></div><div>kind of useless. �</div>
<div><br></div><div>Obviously detecting style availability is no problem using JavaScript, just measure some style region or compute a style. �However, in the absence of JavaScript it is actually somewhat of a challenge to detect this case you have to look for dependent requests as a clue like some style only available background-image or something.</div>
<div><br></div><div>These corner cases aren't�necessarily�the main concerns, a serious motivation for this element is also because of some of the nonsense I am observing with background-image and content property near abuse by CSS wonks. �It appears that there is a fairly decent sized camp of CSS for everything and this element might help mitigate some problems stemming from this. �For example, using the content property can be somewhat troubling if style is removed. �For example, consider what happens if you are putting in field required indicators</div>
<div><br></div><div>input[type=text].required:before {content: " (*) "}</div><div><br></div><div>or for offsite links�</div><div><br></div><div>a[href^="http://"]:after {content:' ( Offsite Link )';}</div>
<div><br></div><div>or any other dynamic insert this way. �In my book effort I am seeing tremendous interest in the design community with such rules. �Without style you lose valuable data and there is no easy recourse to present this situation at least not one without using JavaScript. �At least having warnings via a nostyle element would be assisitive in informing users that this isn't quite right and in some cases I might dream up helpful for accessibility in light of too much CSS abuse.</div>
<div><br></div><div><br>Just an aside: The content property is the CSS cousin of document.write if you think about it, useful but problematic.</div><div><br></div><div><br></div><div>So given that noscript correctly acts in masking content for user agents supporting and not for those off or unsupporting, the nostyle element seems like a quite logical solution for the other technology key client-side tech.</div>
<div><br></div><div>Anyway if this were an acceptable addition, tag syntax would be quite simple would only have common attributes, pretty basic replication of noscript prose in the specification. �Though of course this is one element that would require browser changes, no quick simulation with JS.</div>
<div><br></div><div><br></div><div>Comments?</div><div><br></div><div><br></div><div>-Thomas Powell</div><div><br></div><div><br></div>