tempertemper
Focus on the people that make things happen
Making sense of accessibility and the law
Hierarchy in tables
Everything has its time
Erring on the side of caution
WWDC 2025 roundup
Colour alone can be used to convey meaning, and I don’t like it!
Are you sure that table isn’t a list?
Focus priming
How navigation should work for keyboard users
How button groups should work for keyboard users
There’s no such thing as ‘menubar navigation’
Skip links: what, why, and how
Ensure your project works in every browser and for every user
Using iframes to embed arbitrary content is probably a bad idea
Avatars and alt text
Upgrading from iPhone 13 mini to 16 Pro
Apple, you’re doing the Dynamic Island wrong
Getting started with NVDA
An enhancement to accessible responsive tables
User ‘wants’ versus accessibility
WWDC 2024 roundup
How to browse the web with the keyboard alone
All I want from WWDC 2024
Accessibility overlays are not for disabled people
Images as the first thing in a button or link
Alt text for CSS generated content
The accessibility conversations you want to be having
Screen reader users and the tab key
Not all screen reader users are blind
Accessibility by degrees
Own your own content
Mastodon and me
What has happened Twitter!?
Accessibility represents maturity
WWDC 2023 roundup
Don’t meddle with user input
Getting VoiceOver to shut up
VoiceOver’s Trackpad Commander on Mac
The difference between Increased Contrast Mode and Windows High Contrast Mode (Forced Colours Mode)
Windows high contrast mode and focus outlines or: My focus indicators were inaccessible
If you’re going to do a job, do it properly
Buttons, links, and focus
If you need a link, don’t use a button
Overlapping interactive areas
Images, illustrations, and contrast
Which images need descriptive text?
Buttons with icons and text
Complexity and caution
Accessibility beyond the ‘obvious’
It’s good to make mistakes
Focus appearance explained
Here, here, and here
Abbreviations can be problematic
Bag some AAA wins where you can
Accessible animated content without the compromise
Accessibility doesn’t stop at WCAG compliance
Icon-only links fail WCAG
What I wish was in WCAG: prohibit icon-only buttons
WWDC 2022 roundup
XHTML syntax is still worth using
Booleans in ARIA
Sometimes when it’s false, it’s true
I deleted 1Password
HTML isn’t quite accessible out of the box
CSS Naked Day
Upgrading from iPhone XS to 13 Mini
If one person is remote, everyone should be remote
WCAG AAA in language I can understand
Is ‘a11y’ exclusive?
Safari 15.4
WCAG 2.2 in language I can understand
Safari, focus-visible and accessibility
Going all-in on iCloud Passwords
WCAG, but in language I can understand
The curse of knowledge
Apple Watch’s default app view is bad
Safari 15’s Tab Groups
Design for everyone
An update on Google and the open web
What do we do with a link or button matters
If HTML and ARIA don’t allow it, it’s probably a bad idea
Mac event 2021
Face ID on the Mac won’t happen
Always style links with a pseudo-class
Links, missing href attributes, and over-engineered code
A week with iOS 15
iOS 15, Face ID, sunglasses, and Apple Watch
What if no-one’s listening?
How I approach CSS: my ABC system
Critical CSS: what it is, why it’s useful, and how it works
Using Pandoc to convert Markdown to Jira’s Textile in Sublime Text
Apple dials back the Safari 15 for macOS redesign
Share anyway
Downloading a website as HTML files
Text underline thickness on Chrome
Website version 6
Sass mixins for Increased Contrast Mode (and Dark Mode)
Using the Increased Contrast Mode CSS media query
Craig Federighi on, essentially, mobile first
Styling code snippets in Keynote
I’d forgotten how much I like Keynote
WWDC 2021 roundup
The trouble with back links
Fixing Safari’s HTML-only Dark Mode bug
HTML-only Dark Mode
Front of the frontend
Accessible responsive tables
Refining focus styles with focus-visible
AVIF and WebP are not always better than PNG and JPG
Converting images to AVIF in 2021
AVIF image compression is incredible
Using Git restore to discard changes within a file
Undelete a file with Git
Be careful with strikethrough
The difference between strikethrough and del
Git restore to discard changes
Using Git switch to change branches
Cleaner focus outlines with box-decoration-break
Bold and italics aren’t read by screen readers
Sentence case versus title case
Reset to a previous commit
My user manual
On not setting an upstream for short-lived branches
Updating Netlify deployments when renaming your main Git branch
Why I stopped using ASCII art
Setting an upstream Git branch
How to rename the ‘master’ branch on GitHub
Empathy, and renaming my ‘master’ branch to ‘main’
Third party platforms, and owning your own content
Caching fonts on Netlify
Custom numeric passcodes on iPhone
Face ID and masks
When and how to use the section element
Viewing the changes in a Git stash
Deleting a stash in Git
Applying a Git stash non-destructively
Giving your Git stash a name
Choosing a stash from the list
Getting started with Git stash
Scrollbar marker colours on macOS
Scroll-bounce page background colour
Using VoiceOver’s rotor on macOS
Getting started with VoiceOver on macOS
Upgrading from a Home button to a Face ID iPhone
Accessible animated GIFs are pointless
An unexpected accessibility benefit of video calls
Voice Control for macOS commands cheatsheet
Why I prefer not to use CSS shorthand
Progressively enhanced animated content
Google are spoiling my Blue Beanie Day
Form styling limitations are an accessibility issue
Moving to Apple One with existing Apple subscriptions
The tempertemper newsletter
Respecting people’s privacy
Accessibility issues when removing list markers
Custom unordered list markers, done right
Styling list markers the right way
How to use the keyboard to navigate on Safari
Using the keyboard to navigate on macOS
Opening links in a new tab or window is better avoided
First impressions of iOS 14
3D touch is gone on Apple Watch
Splitting a hunk in Git’s patch mode
Staging different parts of the same file with Git
Include a date on your blog posts
Styling underlines with CSS
Why you should (almost) always underline your links
Saying goodbye to UK government
WebKit has fixed the implicit role on footers
iOS 14’s Back Tap; a better way to access Control Centre
Putting the time in up front
Text snippets on Apple devices
The right way to use break tags in HTML
Using WebP images
Searching for a Git commit by name with grep
Using address in HTML won’t be problematic for much longer
Using horizontal rules in HTML
How to change the first number of an ordered list in HTML
Reversing an ordered list in HTML
Frontend NE draws to a close
Self-closing elements in HTML
An introduction to HTML attributes
A handy Git shortcut to fetch and prune
Chaining Git commands
Using image aspect ratios to avoiding janky page loading
Lazy loading images without JavaScript
The briefest of histories of responsive images
‘Frontend’, ‘front‑end’ or ‘front end’?
Pushing to a differently named branch on your remote
Redirect a filename in Netlify without specifying the path
When design breaks semantics
How my website’s design has evolved
Why I haven’t ‘redesigned my portfolio’ since 2014
WWDC 2020 roundup
Sleep on watchOS 7
Keeping git status short
Optional closing tags in HTML
The difference between elements and tags in HTML
Why I always raise a pull request on solo projects
De-prioritising design
HTML is more complicated than you think
Using the HTML document outline
Pixels, constraints, minimalism, and tempertemper
Even the finest of details can be important
What watchOS 7 might have in store
Why is accessibility so often seen as a low priority?
How to rename a remote repo in Git
The simplest solutions are usually the best
How to diff branches in Git
Git rebase versus merge
Version tagging with Releases in GitHub Flow
Simplifying branching and deployment with GitHub Flow
Why ‘tempertemper’?
Apple’s Keyboards revisited
The best Sublime Text theme
Operator Mono and why I want italics in my code editor
Ligatures in coding fonts
If it’s not progressively enhanced, it’s not accessible
Which way is that arrow pointing!?
If only Apple’s Voice Memos did transcription
Stop search indexing for Netlify Deploy Previews and Branch Deploys
Setting up a staging site with Netlify
Netlify Deploy Previews
Colour contrast on tempertemper.net
List-style articles
Some brief thoughts on watchOS 6
Routine and flexibility
Ditching Google Analytics in favour of Netlify Analytics
Moving to Netlify
Adding files for a commit with asterisks
Using nvm on macOS
SwiftUI is more than just a developer convenience
iPhone event 2019
Why I’m not using Git aliases
Version control for articles and blog posts
Years in, the accessibility learning curve continues
Practice makes perfect
How to avoid disabled buttons
Changing editor for Git on the command line
Fixing your last Git commit
Website version 5
Changing your Git history
Right here, right now
Stop the ride, I want to get off
Minimalism and progressive enhancement
Refining my writing process
Folder sharing and the new Apple OSs
Design and dev should be more joined up
Getting to grips with Git
What’s emphasis and what’s not
Implicit ARIA landmark roles
Looks like 3D Touch is going away
WWDC 2019 roundup
Reducing motion
Let’s make webmasters a thing again
Face ID and sunglasses
Settling for less
Thoughts on 3D Touch
Still a sucker for Sublime
I can’t wait for Dark Mode on iOS
Choosing Dark Mode on macOS
Keep on learning
Reading at night with a neat iPhone hack
They’re my rules to break
My favourite RSS app
The new MacBook keyboard
A New Year’s resolution for 2019
Leaving the Frontend NE meet-up
Dark Mode websites on macOS Mojave
In search of the best writing app
Safari tab icons
Dashes, asterisks and plus signs
A shift in focus
Changing the way I start a project
tempertemper’s Typefaces
The benefits of co-working
Controlling email
Why I still use RSS
Switching to Gmail
Blue Beanie Day
My introduction to co-working
FreeAgent
Evernote
Dropbox – my most useful app
What’s RSS all about?