Jens Oliver Meiert

Web Development × Engineering Management × Philosophy (5)

Articles and books on the craft of web development (with a focus on HTML/CSS optimization and maintainability), engineering management, and philosophy.

HTML Concepts: Form Owners

Today in “HTML Concepts”: form owners. It’s not what you are when you put a form on a page. What are form owners? In essence, form elements that so-called form-associated elements are tied to.

#475 · · ,

Web Frameworks, Coding Guidelines, Quality Control, and the Craft of Web Development

“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”?

#474 · · , ,

The 6 Ways of Writing HTML (and Their Combinations)

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.

#473 · · , , , , ,

HTML Concepts: Common Idioms

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.

#472 · · , ,

The Little Book of Little Books.

The Little Book of Little Books

The consolidated and updated version of The Little Book of HTML/CSS Frameworks, The Little Book of HTML/CSS Coding Guidelines, and The Little Book of Website Quality Control!

#471 · · , , , , ,

Making the Web Developer’s Pilgrimage

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.”

#470 · · ,

Declaring Page Language—and Declaring Changes in Language

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.

#469 · · , ,

Comparing Page Language Declaration Setups in Screen Readers

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.

#468 · · , ,

Not Releasing Late on Fridays, a Matter of Courtesy

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:—

#467 · · ,

HTML Concepts: Indicators for Layout Tables

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.”

#466 · · ,

5 Eleventy Tweaks That Make My Sites Better (and Maybe Yours)

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.

#465 · ·

One Favicon to Rule Them All

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?

#464 · · ,

HTML Concepts: Constraint Validation

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.

#463 · · ,

CSS: “:has()” and the Lost Paradigm

On the :has() pseudo-class and the forgotten school of ID- and class-less development.

#462 · · , , ,

The 3-Second Frontend Developer Test

“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.

#461 · · , , , ,

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.

#460 · · , ,

Website Optimization Measures, Part XII

Content security policies. Promotions. Words. Tracking. Link types. Meta information. VG WORT. Social markup. Living the dream.

#459 · · ,

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.

#458 · · ,

Reasons to Listen to Whom You Don’t Agree With

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.

#457 · ·

Thoughts for the Aging Web Developer

There may come a time when you 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.

#456 · · ,

CS:GO on macOS, an Amateur Setup

After a 20-year break, a collection of settings and thoughts on Counter-Strike.

#455 · ·

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.

#454 · · , , ,

Upgrade Your HTML III.

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.

#453 · · , , , ,

Engineering Management Ă—12

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.

#452 · ·

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.

#451 · · ,

Code in Quarantine

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.

#450 · ·

The Choice to F Up

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.

#449 · · ,

33 Additional Web Development Terms You May Not Have Heard Of

As you know, Web Development has its own, special vocabulary that easily consists of several thousand terms. Do you like to try your knowledge again, on how many of the following 33 terms you know?

#448 · · ,

5 Tips for Your Next Promotion or Salary Raise

How do you approach promotions and salary raises? Are these tied to a cyclical event or do they depend on your initiative? Do you invest into building your case, or do you wing it? Here are a few ideas on what can improve your position and chances.

#447 · ·

The Internet Shedding a Free-Rider Problem

With more and more software and regulation limiting the data that we pay with for contents and services, we are, in a way, requiring these contents and services to be made truly free. This doesn’t appear sustainable, and the Web is likely to change.

#446 · ·

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.

#445 · · ,

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.

#444 · · , , , , ,

2020

2020 has been a strange year, a year of challenges, but overall a—good year. Personal notes, professional highlights, a few numbers.

#443 · ·

Ignore AMP

In 2018, my recommendation was to avoid AMP, to use AMP for the most relevant pages, or to use AMP only. In 2020 my recommendation is to ignore it, because AMP largely appears meaningless now. Upgrade Your HTML II gives an opinionated idea why.

#442 · ·

Website Optimization Measures, Part XI

Welcome to another round-up of possible website improvements, this time going from several types of link updates to table of contents CSS upgrades to CDN integration and privacy policy checks.

#441 · · , ,

Notes on HTML 3.2

Would it still be useful to read the HTML 3.2 specification—from 1997? A few observations.

#440 · · ,

Upgrade Your HTML II.

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.

#439 · · , , , ,

On HTML (and HTML in 2020)

What seems noteworthy about HTML, and how we’re doing on that in the year 2020.

#438 · · ,

People Care

It seems easy these days to lose faith in people. We’re destroying the planet, elect the least competent and least humane of our peers for presidents, kill our own people when we don’t kill people in other countries, etc.—and yet we all care.

#437 · ·

A Day Is a Day

On a personal preference for Inbox 0, and doing, delegating, and deferring.

#436 · ·

Custom Properties: Questioning “:root”

For custom properties (aka CSS variables) we got into the habit of declaring variables in a rule with a :root selector. Yet unless you’re working in an environment in which style sheets serve several document types (and roots), question this use of :root.

#435 · · ,

Love

Love is the essence, love is the emotion. Yet it’s striking how we talk about love, as if there was just one type of love. Aldous Huxley comes to mind, and After Many a Summer Dies the Swan.

#434 · ·

Website Optimization Measures, Part X

9 TILs that I applied to my personal projects.

#433 · · ,

The Anti-Reset (to Reset to User Agent Styles)

I advise against resets. You don’t need them. (We don’t need them.) Yet what’s the opposite of a reset? Of all resets? The anti-reset. It looks something like this—

#432 · · ,

Caring About Comments

Maybe you’re like me, and comments have begun to mildly scare you. Maybe you’re skeptical about popular discussion culture, too. Maybe you can relate because you, too, have found yourself write something reasonable you care about and a shitstorm broke out. And yet you and I love feedback.

#431 · ·

33 Web Development Terms You May Not Have Heard Of

Web Development has its own, special vocabulary that easily consists of several thousand terms. Even if you’re an experienced developer you’re unlikely to know all of them. Still, do you like to try your knowledge? How many of the following terms do you know?

#430 · · ,

On Disclosing Our Salaries

For a year now I’ve been toying with the idea of publicly disclosing my salary, as well as my financial assets. Not because of me, but because I’ve come to believe that this step, if taken by others, too, would be a step towards more transparency.

#429 · ·

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.

#428 · · ,

5 Tips to Get Your Dev Blog Running

If you know what you can deliver, if you keep at it, if you make it easy for your peers, if you talk about the effort, and if you measure and improve and employ a process, you’re likely to do well: thoughts on technical outreach.

#427 · · ,

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.

#426 · · , , , ,