Lint is cute for catching things like typo’s – I’d rank it better than the W3C validation service in that regard… but…
A LOT of the stuff it kvetches about as warnings is just plain nonsense… their stance on ID’s in selectors for example is just arbitrary nonsense.
Or even simple messages it gives me – for example:
input {
-webkit-appearance: none;
}
returns:
The property -moz-appearance is compatible with -webkit-appearance and should be included as well.
Uhm, don’t need to, shouldn’t ever need to – mozilla actually lets me style inputs how I want them… kinda. Only webkit is a total nudnik in that department. (I swear, I’m starting to hate webkit more than I do gecko)
But yeah, “don’t use id’s in selectors”?!? That’s 100% unadulterated NONSENSE. Especially if you need to resolve a specificity issue, or SHOCK use the ID to link to, or SHOCK have it on an input for “for” to point at so why WASTE AN EXTRA CLASS on something that has a unique identifier…
100% unadulterated manure, and whoever came up with that as part of LINT should be ashamed.
Another one that’s total nonsense is the “headings should not be qualified” – for example:
.blogSummaries .blogBox h3 {
throws a warning… What, you can’t have Headings in different subsections receiving different style? That’s just… I lack the words in polite company. on just how idiotic that is.
The text for it:
Heading elements (h1-h6) should be defined as top-level styles and not scoped to particular areas of the page. For example, this is an example of an overqualified heading:
.foo h1 {
font-size: 110%;
}
Heading elements should have a consistent appearance across a site.
Makes it sound like they are advocating presentational markup… since if you are choosing your heading tag based on appearance, you aren’t choosing them right. Much less block level prefixes are often used for techniques like image replacement so you don’t have to put a class on the h2, p or anything else inside the parent container – as such they might have the same “appearance” by using different images for the text… So that’s just bull.
Besides, if I have H2 in the main content column and h2 in the sidebar (or for you HTML 5 nutters, “aside”), what’s wrong with making them smaller they aren’t the primary content area and lose the structural order meaning when moved up next to it? STRUCTURALLY they’re H2, that has NOTHING to do with APPEARANCE.
Shame such a useful tool you have to disable about half the checkboxes before using it. Wish to hell it remembered which checkboxes you disable between visits… or even refreshes.