Search
designMode
1.10.2019
Every once in a while I stumble upon an API or browser setting that I can’t believe ever existed. Such examples can be seen in the numerous String.prototype properties such as bold, italics, and even blink, which wrap given string text in their representative HTML tags. Bizarre. It...
Multi-Million Dollar HTML
30.9.2019
Two stories:
Jason Grigsby finds Chipotle's online ordering form makes use of an input-masking technique that chops up a credit card expiration year making it invalid and thus denying the order. If pattern="\d\d" maxlength="2" was used instead (native browser feature), the browser is smart enough...
What happens when you open a new install of browsers for the 1st time?
27.9.2019
Interesting research from Jonathan Sampson, where he watches the network requests a browser makes the very first time you launch it on a fresh install, and otherwise do nothing. This gives you a little insight into what kind of information that browser wants to collect and disseminate.
This...
Easy Google Search Result API with Zenserp (Sponsored)
25.9.2019
No matter how much experience I gain in this industry, one task I continue to fail at is building an accurate, flexible, and maintainable scraper for site search. As soon as sites change their HTML structure, my scrape is borked. When looking to build my own search results page, I looked around...
Filtering Data Client-Side: Comparing CSS, jQuery, and React
24.9.2019
Say you have a list of 100 names:
<ul>
<li>Randy Hilpert</li>
<li>Peggie Jacobi</li>
<li>Ethelyn Nolan Sr.</li>
<!-- and then some -->
</ul>
...or file names, or phone numbers, or whatever. And you want to filter them...
Link Underlines That Animate Into Block Backgrounds
23.9.2019
It's a cool little effect. The default link style has an underline (which is a good idea) and then on :hover you see the underline essentially thicken up turning into almost what it would have looked liked if you used a background-color on the link instead.
Here's an example of the effect on...
Random Notes from a JAMstack Roundtable
23.9.2019
I hosted a JAMstack roundtable discussion at Web Unleashed this past weekend. Just a few random notes from that experience.
I was surprised at first that there really is confusion that the "M" in Jamstack stands for "Markdown" (the language that compiles to HTML) rather than "Markup" (the "M"...
Table with Expando Rows
20.9.2019
"Expando Rows" is a concept where multiple related rows in a <table> are collapsed until you open them. You'd call that "progressive disclosure" in interaction design parlance.
After all these years on CSS-Tricks, I have a little better eye for what the accessibility concerns of...
A Comparison of Static Form Providers
18.9.2019
Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML <form>, but don’t worry about the back-end processing that makes it work. There are a lot of these services out there!
Static Form Providers do all tasks like validating, storing, sending notifications,...
(Why) Some HTML is “optional”
16.9.2019
Remy Sharp digs into the history of the web and describes why the <p> tag doesn’t need to be closed like this:
<p>Paragraphs don’t need to be closed
<p>Pretty weird, huh?
Remy writes:
Pre-DOM, pre-browsers, the world's first browser was being written by Sir...
caniemail.com
15.9.2019
As long as I can remember the main source for feature support in HTML email clients is Campaign Monitor's guide. Now there is a new player on the block: caniemail.com.
HTML email is often joked about in how you have to code for it in such an antiquated way (<table>s! really!) but that's...
Weekly Platform News: Apple Deploys Web Components, Progressive HTML Rendering, Self-Hosting Critical Resources
13.9.2019
In this week's roundup, Apple gets into web components, how Instagram is insta-loading scripts, and some food for thought for self-hosting critical resources.
Apple deploys web components built using Stencil
The new Apple Music web app (beta) uses a JavaScript framework (Ember.js) but also...
Fast Static Sites with Netlify and AnyMod
12.9.2019
In about 10 minutes, we'll set up a workflow that makes static sites dead simple.
You'll get the following:
Free https
Free or cheap hosting
Build sites quickly
Edit with live reload
Edit when you’ve forgotten everything in 6 months
Start: signups
We can get all this by using Netlify (really...
Some HTML is “Optional”
11.9.2019
There is a variety of HTML that you can just leave out of the source HTML and it's still valid markup.
Doesn't this look weird?
<p>Paragraph one.
<p>Paragraph two.
<p>Paragraph three.
It does to me, but the closing </p> tags are optional. The browser will detect...
Need to scroll to the top of the page?
2.9.2019
Perhaps the easiest way to offer that to the user is a link that targets an ID on the <html> element. So like...
<html id="top">
<body>
<!-- the entire document -->
<a href="#top">Jump to top of page</a>
...
Styling Links with Real Underlines
30.8.2019
Before we come to how to style underlines, we should answer the question: should we underline?
In graphic design, underlines are generally seen as unsophisticated. There are nicer ways to draw emphasis, to establish hierarchy, and to demarcate titles.
That’s clear in this advice from Butterick’s...
Collective #543
26.8.2019
JavaScript: The Modern Parts * Ruffle * Pagemap * Mario HTML * Consume less, create more
Collective #543 was written by Pedro Botelho and published on Codrops
Weekly Platform News: Improving UX on Slow Connections, a Tip for Writing Alt Text and a Polyfill for the HTML loading attribute
23.8.2019
In this week's roundup, how to determine a slow connection, what we should put into alt text for images, and a new polyfill for the HTML loading attribute, plus more.
Detecting users on slow connections
Algolia is using the Network Information API (see the API’s Chrome status page) to detect users...
Other Ways to SPAs
21.8.2019
That rhymed lolz.
I mentioned on a podcast the other day that I sorta think WordPress should ship with Turbolinks. It's a rather simple premise:
Build a server-rendered site.
Turbolinks intercepts clicks on same-origin links.
It uses AJAX for the HTML of the new page and replaces the current page...
Weekly Platform News: HTML Loading Attribute, the Main ARIA Specifications, and Moving from iFrame to Shadow DOM
15.8.2019
In this week's roundup of platform news, Chrome introduces a new attribute for loading, accessibility specifications for web developers, and the BBC moves visualizations to the Shadow DOM.
Chrome ships the loading attribute
The HTML loading attribute for lazy-loading images and iframes is...