Jens Oliver Meiert

Web Development (4)

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.

#271 · · html, accessibility

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.

#270 · · html, accessibility

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

#269 · · management

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

#268 · · html

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.

#267 ·

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?

#266 · · minimalism

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.

#265 · · html

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

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

#264 · · html, css, minimalism

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.

#263 · · html, css, conformance, quality

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.

#262 · · html, semantics

Website Optimization Measures, Part XII

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

#261 · · optimization

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.

#260 · · html

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.

#259 · · management

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.

#258 · · html, css, conformance

Cover: 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.

#257 · · books, html, 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.

#256 · · html

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.

#255 ·

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?

#254 · · design

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.

#253 · · html

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.

#252 · · html, css, javascript, quality, design

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.

#251 ·

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.

#250 · · design, optimization

Notes on HTML 3.2

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

#249 · · html

Cover: 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.

#248 · · books, html, minimalism, optimization

On HTML (and HTML in 2020)

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

#247 · · html

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.

#246 · · css

Website Optimization Measures, Part X

9 TILs that I applied to my personal projects.

#245 · · optimization

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—

#244 · · css

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?

#243 · · design

The 29 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 shadowrootserializable.

#242 · · html

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.

#241 · · misc

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.

#240 · · quality, html, javascript, design

Cover: The Web Development Glossary.

The Web Development Glossary (More Than 2,000 Key Terms for Developers)

What is a BHO? Goanna? Hooking? How about a principal box? Or the Ten-Second Rule? Covering more than 2,000 terms ranging from A11Y to Zsh, and including explanations from Wikipedia and the MDN Web Docs, I’m very happy to release the The Web Development Glossary.

#239 · · books

The Frameworks Paradox

The more complex a website, the bigger the need for a framework, the less effective an external framework. This is not new, and not even a paradox because an internal—homemade—HTML/CSS framework is always an option. However—

#238 · · frameworks

On the Responsibility That Comes With Good JavaScript Support

According to our data, the classic idea of making sure websites and apps work without JavaScript being enabled is dead; when we look only at support requirements, this was the end of the story. It’s not, however, when we employ a broader look at JavaScript and its misuses.

#237 · · javascript

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.

#236 · · html, css

If It Can Be Done Using an HTTP Header, Use an HTTP Header

The following is a (slightly modified) chapter from Upgrade Your HTML, which is “all about picking examples of HTML in the wild, and explaining how to make that code better.”

#235 · · maintainability

How Running Your Own Website Is Much Better for You Than You Think

The typical reason for why professionals don’t have their own websites is that they don’t want to make the commitment, and yet that misses how the disadvantages people see are actually advantages. Renewed thoughts on how running your own website is an asset.

#234 · · design

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.

#233 · · html, performance, optimization

When to Open Links in a New Tab

Always open links in the same tab unless doing so could 1) disrupt a process, 2) risk data loss, or 3) confuse users.

#232 · · design, usability

CSS: When to Use Logical Properties

Logical properties are great and long overdue. They are great because they solve an ugly problem of international, multi-directional web development in that directionality does not need to affect your writing and managing of CSS anymore…

#231 · · css

Website Optimization Measures, Part IX

Random improvements and notes around compression and caching, content security and feature policies, IndieWeb markup, protocols in links, entity references, image formats, and ISBNs in URL paths.

#230 · · optimization

Cover: Upgrade Your HTML.

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.

#229 · · books, html, 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.

#228 · · html, quality

The Developer’s Fallacy of Close Collaboration With Designers

Working closely with designers makes sense and is awesome, notably for mutual understanding and efficiency. And yet there are also good reasons not to work closely with designers. For developers it’s important, for otherwise foolish, to be aware.

#227 · · design

Definition of Web Developer

Web developer, n.: A person who—

#226 ·

“Must Work Without JavaScript”

That websites should work without JavaScript has a long professional tradition, and for apps much the same has been asked for. Yet with the success and ubiquity of scripting, how relevant is it to make sure sites and apps “work without JavaScript”?

#225 · · javascript

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.

#224 · · html, 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.

#223 · · html

Image Compression: How to Super-Easily Set Up Automated Base Optimization

Setting up image compression tooling is easy—and for those who want to err on the safe side automatically employing lossless compression, it’s even easier with a solution from sum.cumo: Merlin.

#222 · · performance, optimization