#14 — Web Accessibility and Future Me

10 things worth sharing each week.

Hi there,

Thanks for reading my emails. If you are my regular reader, you should have noticed that I have skipped a week.

I know that busy is not an excise. But I am really too busy to create the newsletter. I had collected some links to share with you last week. But I haven’t read them thoroughly enough. I don’t want to sacrifice the quality of the links just to meet the deadline. So I paused a week.

So here are the 10 links I read and would like to share my thoughts on them.

Meaningful CSS: Style Like You Mean It

The first step to semantic, meaningful CSS is to start with semantic, meaningful markup. Classes are arbitrary, but HTML is not. In HTML, every element has a very specific, agreed-upon meaning, and so do its attributes. Good markup is inherently expressive, descriptive, semantic, and meaningful.

If we have specified the HTML markup with proper semantic configuration, we can style specific elements without defining too many classes. This leads to a cleaner, more readable, faster loading, easier-to-maintain code.

Their example of the form post that turns a div-wrapped content into a cleaner HTML form.

4.10 Forms — HTML5

Each part of a form is considered a paragraph, and is typically separated from other parts using p elements. > Putting this together, here is how one might ask for the customer’s name:
<form> <p><label>Customer name: <input></label></p> </form>

I don’t know until today that W3C recommends wrapping label with <p>.

WCAG 2.0 checklist
Make sure you have checked the Web Content Accessibility Guidelines. Or this check list provides a nice summary on web accessibility.


There are multiple vulnerabilities in ImageMagick, a package commonly used by web services to process images. One of the vulnerabilities can lead to remote code execution (RCE) if you process user submitted images.

Microsoft can’t even give away Windows 10

Microsoft delivered something pretty special in Windows XP — which still boasts millions of users today — but it followed that up with the disaster that was Windows Vista. Windows 7 was almost XP reborn, and then along came Windows 8 and 8.1 to ruin everything again.

This shows how important the subtle changes in each Mac OS upgrade. making too many changes and people will be afraid to upgrade.

This is how Apple rolls

Mac OS X’s major releases have appeared regularly, each better than the previous version, but none spectacularly so. Snow Leopard is vastly superior to 10.0 in every conceivable way. It’s faster, better-designed, does more, and looks better. But at no point between the two was there a release that was markedly superior to the one that preceded it.

A post from 2010 and still relevant.

Basecamp 3 for existing Basecamp customers

The launch of Basecamp 3 has no effect on your current Basecamp account. Nothing changes, nothing goes away. Everything you have in Basecamp today is exactly the same — safe and sound, working like it always has. It’ll continue this way. You can keep using your current version forever. Basecamp 3 is entirely separate from what you already have.

And it reminds me that 37signals never shuts down their services. Not even after they upgrade their Basecamp to 2 and to 3. Their long retired backpack, ta-da list and writeboard.

Example Writeboard

Here is an example of their writeboard running. (Password: 10tws for you to preview)

It runs well even in today’s standard. I particularly like their versioning. You can see a small and big purple dot indicating how much changes between the versions. I keep this link because It’s a good example for learning purpose, whether you are a UI designer, web app developer or JS beginner learning React.

Lufo, Last Used First Out — An easy way to drastically improve the user experience of long select

Lufo tracks the most recent selections on a long <select> menu and stores them in a browser’s localStorage. When someone revisits a page with that same long menu, their most-recently selected options will be copied to the top of the list for their convenience.

I already find this approach elegant when I first saw this in Highrise web app. Glad that is open sourced now.


At last, I received a email this week. It is from myself last year. I use FutureMe to chat with the future me every year. It’s a good practice that I highly recommend it to you. (I sent 2 emails every year, 1 to myself and 1 to my wife. They deliver 1 year later and I reply to it to anther 1 year later’s me)

Writing is really changing my life. And it’s my honor to have you reading my writings every week.

Until next week,

Thomas Mak