Jens Oliver Meiert
Articles on the craft of web development, particularly on HTML and CSS optimization.
“Good frameworks aim to be tailored, usable, and extensible”? “Coding guidelines must be communicated, enforced, and reviewed”? “No website should go without a plan for quality control”?
There are 6 general ways of writing HTML: unsystematic, valid, semantic, accessible, required-only, and hyper-optimized. These types make for 19 combinations—the ways we write HTML.
Welcome to another brief post in the “HTML Concepts” series. Today we’re going to look at common idioms: popular design patterns for which HTML doesn’t have dedicated elements, but makes suggestions.
Have you read the HTML specification? Have you marked highlights, taken notes, and reviewed what you learned? Have you reported issues and made suggestions to the HTML working group, giving back and improving the standard? On our field’s “pilgrimage.”
Popular screen readers don’t seem to pick up changes in language automatically. We may need a push on screen readers to improve detection of changes in language, and a shift of attention from declaration of page language to marking up changes in language.
One best practice in web development is to declare the document language via the
lang attribute, on the
html start tag. That is useful, but also not the only option. How well are different setups supported in screen readers? A few data points.
Why don’t we, in engineering departments, prefer not to release late on Fridays—or late on others days? Occasionally, developers and stakeholders believe that’s because of a lack of confidence in our code and our systems. The true reason is not that:—
You use tables for data, and therefore not for layout purposes (as was popular in the past). But how would you recognize a layout table? That’s what we’re looking at today in “HTML Concepts.”
Currently setting up my third site with Eleventy, I’ve run into a few things that proved useful. Here are five of them, including centrally defined layouts, title sorting, and easier hiding of posts.
I think the situation around favicons sucks. For an HTML minimalist, the ideal world consists of this when it comes to defining a website or app icon: one image file—no code. This is the minimalist’s dream, and we aren’t there yet—or are we?
When a form element has attributes that define requirements for the element’s value, then these requirements—constraints—are being validated by the user agent. On the validation of constraints, validity states, and a link to CSS.
:has() pseudo-class and the forgotten school of ID- and class-less development.
“Do you validate?” Be a frontend developer who ships valid HTML and CSS; hire frontend developers who ship valid HTML and CSS. End the time of unconditionally accepted sloppiness in professional frontend development.
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.
Content security policies. Promotions. Words. Tracking. Link types. Meta information. VG WORT. Social markup. Living the dream.
There’s a content model in HTML that contains—nothing. Details on what this means, and how it relates to “empty” or void elements.
Our culture has become one of canceling, of reacting to what we disagree with and whom we dislike by ignoring, unfollowing, blocking, banning, ostracizing. Camouflaged as non-violent protest, it can well be passive-aggressive intolerance of views and people.
There may be a time when you’ll feel “too old” for web development. When you begin to feel that, here are a few thoughts. They might not be all you need but—maybe they are of use.
After a 20-year break, a collection of settings and thoughts on Counter-Strike.
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.
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.
Ideas and principles for managing engineering teams: From “googliness” and “competence, caring, conviction” to systems and processes to communication and delegation to team focus and health to trust and humility.
“body-ok” relates to link type keywords, and denotes what
link elements are okay to be used in the document body.
In the current paradigm, we often work with components and have a 1:1 relationship of HTML to CSS. This makes maintenance more predictable. However, it also pronounces the problem of rarely used code—which can be useful to put in quarantine.
On the things we are doing and not doing, how these things are not and cannot be accidents, and how it all revolves around choice.
I’m Jens Oliver Meiert, and I’m an engineering manager and author. I love trying things, sometimes including philosophy, art, and adventure.
As an expert in web development, I specialize in getting the maximum out of HTML and CSS, contribute to technical standards, and write books (like The Little Book of HTML/CSS Frameworks, On Web Development, CSS Optimization Basics, the Upgrade Your HTML series, as well as The Web Development Glossary).
In philosophy I’m most interested in metaphysics (even in How to Work on Oneself). When it comes to art I play with photography. For adventure I enjoy exploring both places (Journey of J.) and activities (100 Things I Learned as an Everyday Adventurer). I love trying things.