Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'm running into problems with some ArcGIS Server JavaScript code (page elements are positioned different in IE than FF/Chrome), so I checked it against the HTML validators at http://validator.w3.org and http://html5.validator.nu

Many errors were found, so I returned to the official Esri JS samples to ensure I was using valid code. Surprisingly, I found that many of the samples also failed the validators.

Examples of errors include:

Error: Attribute label not allowed on element button at this point.
<button id="dropdownButton" iconClass="bingIcon" label="Base" data-dojo-type="dijit.form.DropDownButton">

from the Basemap sample.

Is it a problem that the official Esri samples fail the validators? Is this related to the use of DOJO, and therefore not an actual problem?

share|improve this question
2  
This is a red herring. Markup that correctly validates in no way implies that it will look the same cross browser. –  Derek Swingley Dec 8 '11 at 17:25
    
@DerekSwingley true, but markup that doesn't validate could cause problems because the browsers can handle errors differently, no? Some of my non-map elements looked good in FF but were positioned incorrectly in IE. Fixing invalid HTML markup resolved these problems. –  Stephen Lead Dec 8 '11 at 22:21
    
Some good info on the SitePen blog today: sitepen.com/blog/2012/01/19/html5-data-dojo-attribute-support –  Derek Swingley Jan 20 '12 at 5:19
add comment

2 Answers 2

up vote 2 down vote accepted

You are getting the validation error because esri is using declarative dojo syntax which is not valid w3c html. After the dojo.parser updates the html it should be valid markup. In your example they are actually mixing the html5 acceptable way and the old way. label is not allowed on a button. I'd imagine dojo slips that <button>label</button> around there. if you had data-dojo-props='label: "Base"' it would allow for this to pass w3c validation. Since dojo, in the past, didn't really care about the validation to allow for declarative markup, I'd say that it was ok to ignore those element attributes. The new html spec allows for you to have valid markup and achieve the same thing.

Since esri is still using dojo 1.6 and the data-dojo-props isn't that reliable I can see them waiting to fix all of these until their api is built upon 1.7. That being said, samples and documentation often get the least amount of attention.

To answer your question, those validation errors and the use of dojo will not cause your browser rendering differences.

share|improve this answer
    
I think you mean "data-dojo-props", not "dojo-data-props". Also, your link is 404ing, here's the google cache of it: webcache.googleusercontent.com/… –  Derek Swingley Dec 8 '11 at 17:37
    
@DerekSwingley thanks updated it. –  Steve Dec 8 '11 at 17:44
    
good answer - thanks. –  Stephen Lead Dec 8 '11 at 22:24
add comment

I personally don't think it's a problem if it's related to a feature (button, link, etc) on the webmap. As long as you've tested your webmap in the browsers you intend to support, support as many modern browsers as practical, and make your supported browsers clear to your users, I think you've done all you need to.

Considering all the rapid changes, different JS libraries, and competing ideas that may or may not become part of the HTML5 standard, I think W3C validation of web maps is mostly overkill until HTML5 is officially a standard. I say "mostly overkill" because the validation is still good for basic page elements that are part of the webmap.

share|improve this answer
    
thanks Kevin, that's good info –  Stephen Lead Dec 8 '11 at 22:24
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.