HTML (Hypertext Markup Language) (2)
Use the “i” Element, and Use It Appropriately
“Use em
instead of i
” is in the Top 25 of bad advice you can get in HTML development. The two elements have different meanings, the blunt rule ignores all context, and i
is a valid element with legitimate use cases.
#72 · · development, semantics
HTML Concepts: The “Nothing” Content Model
There’s a content model in HTML that contains—nothing. Details on what this means, and how it relates to “empty” or void elements.
#71 · · development
2021: 98% of the Top 100 U.S. Websites Use Invalid HTML
Is frontend development in the bad shape it’s said to be? Is it hyperbole when frontend developers are accused of poor quality work? When you look at the code of the most popular websites, the answer is clear.
#70 · · development, css, conformance

Upgrade Your HTML III
If you care about HTML as a craft, if you consider yourself an HTML minimalist, if you believe in pushing for boundaries (and sometimes overdoing it), then this is a right book (and a right book series) for you—with 10 fresh examples from the field that get inspected and improved.
#69 · · books, development, minimalism, optimization
HTML Concepts: “Body-Ok”
“body-ok” relates to link type keywords, and denotes what link
elements are okay to be used in the document body.
#68 · · development
HTML: The 16 Content Categories and Their Elements
HTML puts elements into content categories. This article serves as a boring, brief, but updated overview over the broad and overlapping categories of HTML, and which elements fall into them.
#67 · · development
In Critical Defense of Frontend Development
The field of frontend development is in another crisis, largely due to an incomplete, misinterpreted definition and a bizarre mess created by “web development as a commodity” and “web development as software development.” How frontend development is more than development, and what we can (and should) do.
#66 · · development, css, javascript, quality, design
Notes on HTML 3.2
Would it still be useful to read the HTML 3.2 specification—from 1997? A few observations.
#65 · · development

Upgrade Your HTML II
If you care about HTML as a craft, if you consider yourself an HTML minimalist, if you believe in pushing for boundaries (and sometimes overdoing it), then this is a right book (and a right book series) for you—with 10 new examples from the field that get inspected and improved.
#64 · · books, development, minimalism, optimization
On HTML (and HTML in 2020)
What seems noteworthy about HTML, and how we’re doing on that in the year 2020.
#63 · · development
The 27 Boolean Attributes of HTML
What is a Boolean, what is a Boolean attribute, how does a Boolean attribute work, and what Boolean attributes are there? Meet the Boolean attributes, from allowfullscreen
to truespeed
.
#62 · · development
The 4 Pillars of Good Embed Code
Embed code is third-party code to be integrated on websites and apps, like ads or social media widgets. There have been many problems with embed code for a very long time. This post covers the essence of what makes for good embed code.
#61 · · development, quality, javascript, design
HTML and CSS and the 2019 Web Almanac
The HTTP Archive’s Web Almanac is fantastic because it provides us with data about how we build what kinds of websites. While the release of the 2019 Almanac has been accompanied by some analysis, I had found it interesting to interpret the data, too.
#60 · · development, css
An HTML Optimizer’s Config for html-minifier
Jad Joubran asked me about my configuration for html-minifier the other week, and in a hurry I pointed him to the config I had worked out for sum.cumo. In my own projects, however, I work with a different, more ambitious setup.
#59 · · development, performance, optimization

Upgrade Your HTML (the Booklet)
I’ve written a very short book on improving HTML code: Upgrade Your HTML. Upgrade Your HTML is about one thing: Picking examples of HTML in the wild, and explaining how to make that code better. Kindly. Constructively. Thoroughly, as finding a balance between detail and brevity permits.
#58 · · books, development, minimalism, optimization
On Writing Better Markup
As HTML is so important and yet also so easy, everyone writes HTML, and everyone says they can write HTML. And with that they don’t just mean they are able to write HTML, but that they write good HTML, where “good” means “high quality.” That would be great news.
#57 · · development, quality
Optional HTML: Everything You Need to Know
Optional HTML can be left out to improve performance, to guide code comprehension, and to hone the craft. An overview over all optional tags, rules around quotes for attribute values, and omissible attribute value defaults, as well as notes on pitfalls and tools.
#56 · · development, performance
When to Use “img,” “img@srcset,” and “picture” and “source”
I’ve disliked srcset
and the whole family of ideas around it from the start because doing the same thing for the same purpose several times has usually looked like too much DX cost for too little UX gain to me. Two angles at what to use when.
#55 · · development
The Problem With Web Development Checklists, or: The Frontend Checklist, Revised
Checklists are a great way to make sure nothing gets forgotten, yet they are problematic when they contain items that aren’t important. A few general thoughts and a very specific review of The Frontend Checklist—of which 33 guidelines appear useful, and 41 not (yet).
#54 · · development, css, javascript
Optional “@lang”
The lang
attribute is one of HTML’s global attributes. If one doesn’t simply take it for granted, it begs a number of questions—and these suggest to drop W3C requirements around it, and to demand software to do the job.
#53 · · development, accessibility
What Happened on Google+, the Web Development Archives
Following a few philosophy posts to be archived, here are past entries related to web development. Nothing more, nothing less.
#52 · · development, css, design
HTML and Performance: Leave Out Optional Tags and Quotes
As experts we should know what code is optional and leave it out, and our production systems should do a better job assisting us with that. After all the years of neglecting basic HTML optimization, let’s think about taking the next step and not ship optional HTML markup.
#51 · · development, performance, minimalism
HTML, CSS, and Dependency Direction
Adam Wathan wrote one of the most interesting web development articles I’ve read in the last few months: CSS Utility Classes and “Separation of Concerns.” At least until “Phase 3” there’s much to learn about current web development…
#50 · · development, css
The Compact Guide to Web Maintainability: 200 Tips and Resources
The result of reviewing, normalizing, rephrasing, sorting, and testing 134 responses to a maintainability survey that yielded more than 500 data points, to form a new guide, a new and more definite guide to web maintainability.
#49 · · development, css, maintainability
What I Learned Building Google’s Web Frameworks
On building Google’s Go and Maia HTML/CSS frameworks, and succeeding and failing as a tech lead.
#48 · · development, css, frameworks
HTML Statistics: 5 Take-Aways
A few quick comments on Catalin Rosu’s interesting follow-up analysis of his sampling of eight million websites. Some practices are wonderful to note, others have been commented on, yet one or the other point drowned.
#47 · · development

New Book: “The Little Book of HTML/CSS Coding Guidelines”
Out of the blue! My latest book, The Little Book of HTML/CSS Coding Guidelines, is now available. It’s a brief introduction into the theory and practice of coding standards. Emphasis, as the title suggests, is on HTML and CSS, and furthermore on Google’s guidelines…
#46 · · books, development, css

New Book: “On Web Development”
I wrote another book. On Web Development. On Web Development is an ebook that collects most of the articles about web development (and web design) that I wrote between 2005 and 2015. Most articles as in most useful, most important, and also most controversial.
#45 · · books, development, maintainability, css, design
Web Standards: We’re F’ing It Up
It’s a problem to just change specs. But it’s an increasingly bigger problem not to clean and prune them. The intimidating complexity of web standard specs should precisely be a motivation, not a threat, to come up with a plan. It follows the populist version.
#44 · · development, css
A Vision of Web Development
There is one thing every web developer should aspire to: writing the most minimal, semantically appropriate, valid HTML, and then never changing it. “Never” not in a sense of denial and refusal, but in the sense of a guiding light…
#43 · · development, minimalism, semantics, conformance, maintainability, quality

New Book: “The Little Book of HTML/CSS Frameworks”
It’s out! My new book, The Little Book of HTML/CSS Frameworks, is now available. I myself have been surprised by the sudden release, and while I’m still unsure about how print copies can be obtained, the book can now be downloaded for free at O’Reilly.
#42 · · books, development, css, frameworks
On the Deterioration of HTML/CSS Practices
Presentational markup for everyone.
#41 · · development, css, maintainability
Google and HTML/CSS Code Quality
For much of Google’s life time there have been few Google web pages of high code quality. That had changed over the last years, but now there are regressions. On the rise and fall of Google’s websites.
#40 · · development, css, conformance, quality
HTML and Specifying Language
Questioning the importance and ways of marking up language in HTML documents, in particular changes in language.
#39 · · development
HTML Explained in 123 Tweets: The Google #htmltuesday Archive
Did you know that Google’s Webmaster Team tweeted short statements about all HTML elements, every week, for two and a half years? It was called “#htmltuesday” and ran from 2011 to 2013. All of these tweets are now available in one place: here.
#38 · · development, semantics
CSS, HTML, and the Problem of Spec Fragmentation
We have not one but two fundamental problems with CSS. One is unrestricted growth and complexity leading to poor understanding and poor code. Another one is spec fragmentation, also an issue with HTML, which results in inefficiencies. We should look for a better balance.
#37 · · development, css
No to DRM in HTML
It’s been quiet around DRM lately so I like to share my opinion, in brief: DRM doesn’t belong into nor anywhere near HTML. For one, HTML is a language to describe documents and, since HTML 5, applications. I don’t deem DRM in scope for HTML…
#36 · · development
The Curious Case of Breadcrumbs in HTML
We had an interesting thread about breadcrumbs on W3C’s public-html the other day. At first just targeting delimiters, it spawned a debate about the appropriate markup. Here’s my view on breadcrumbs in HTML.
#35 · · development, semantics
Object-Oriented HTML, and OOCSS
“Object-oriented CSS” is the idea of treating page elements as objects, giving all these objects classes, treating objects’ classes as single entities in style sheets, and taking it from there. I reviewed the old OOCSS site and Smashing Magazine’s introduction.
#34 · · development, css
HTML and Non-Script Styling
If you are to style a document differently based on whether certain technology is available, you should keep two things in mind: HTML itself is static and separation of concerns is important for maintainability…
#33 · · development, maintainability
On Semantics in HTML
As web developers we like to talk about “semantic markup,” a somehow inaccurate short form for “markup that is meaningful and used how it’s supposed to be used.” But where is all that meaning coming from? Let’s take a look.
#32 · · development, semantics
HTML, “@width”, and “@height”
As the width and height attributes are to remain part of HTML, limit their use. The reason to avoid @width
and @height
is that they are presentational and hence constitute potential maintainability issues.
#31 · · development, maintainability
HTML/CSS Frameworks: Useful, Universal, Usable, Unobtrusive
A high quality HTML/CSS framework needs to have four attributes: useful, universal, usable, and unobtrusive. The four U’s.
#30 · · development, css, frameworks, quality
The 3 Ground Rules for Writing HTML
The fundamentals every web developer should know: on respecting syntax and semantics, avoiding presentational and behavioral markup, and leaving out everything that is not absolutely necessary.
#29 · · development, conformance, semantics
HTML, CSS, and Web Development Practices: Past, Present, and Future
Articles with a title consisting of more than 15,000 characters don’t need an introduction.
#28 · · development, css, maintainability
“HTML 5” or “HTML5”?
It’s “HTML5,” not “HTML 5,” declares the most recent post on the WHATWG blog. A seemingly trivial matter, yet it’s inconsistent.
#27 · · development
WDR #3: Optional Tags, Unquoted Attribute Value Syntax
The Web Dev Report, issue #3.
#26 · · development
Microformats, Key Flaws
I like the idea behind microformats, but I’m not convinced of the way that idea is brought to life. I see three major flaws that appear to make microformats stand in their own way.
#25 · · development, css
XHTML, RIP
Let’s end this week of morbid posts: The XHTML 2 Working Group is expected to stop their work end of 2009. “Today the Director announces that when the XHTML 2 Working Group charter expires as scheduled at the end of 2009…”
#24 · · development
Let’s Make The Web Faster
Two weeks after my last outcry regarding slowness on the Web there’s a more proactive response: Google launched code.google.com/speed, subtitled “let’s make the Web faster.”
#23 · · development, css, performance