Schalk Neethling
banner
schalkneethling.com
Schalk Neethling
@schalkneethling.com
Web Accessibility, Web Standards, and Ethical Source Evangelist. Destigmatising mental illness. Factorial.io
Pinned
My heart is shattered. This furry child filled my every day with so much joy. I do not know how I am going to cope without him.

Rest in peace beautiful boy - Kuiper
Reposted by Schalk Neethling
How would you give a non-rectangular element with rounded corners a border?

The simple, future way is just `border` + `border-shape`.

But what about the now, cross-browser solution?

Here's a detailed & illustrated write-up one the geometry & more behind.

ko-fi.com/post/Non-rec...

#CSS
Non-rectangular shape with border and rounded corners
Ana Tudor published a post on Ko-fi
ko-fi.com
September 15, 2026 at 7:50 PM
If you put a toaster in a freezer, which wins? | www.youtube.com/watch?v=9VG0...
If you put a toaster in a freezer, which wins?
YouTube video by xkcd's What If?
www.youtube.com
September 15, 2026 at 7:55 PM
Patrick - I'm worried about the web | I'm worried about the web. I don't want to live in a world where most users of internet-connected devices consume their information and accomplish their tasks via a chat bot interface. | patrickbrosset.com/articles/202...
Patrick - I'm worried about the web
I'm worried about the web. I don't want to live in a world where most users of internet-connected devices consume their information and accomplish their tasks via a chat bot interface.
patrickbrosset.com
September 15, 2026 at 7:06 PM
Reposted by Schalk Neethling
So that's what I did!

I built a package that generates complete DOM and WebWorker libs with all available web features, which you can use as drop-in replacements in your TypeScript projects.

You can read more about it here:
philipwalton.com/articles/mod...
Modern Web Types
If you've ever written code against a new web API in TypeScript, you've probably seen an error telling you the thing you're using doesn't exist. Turns out, TypeScript intentionally doesn't support all...
philipwalton.com
September 15, 2026 at 6:13 AM
Reposted by Schalk Neethling
@css-tricks.bsky.social is once again stuck in an arbitrary suspension at the hands of DigitalOcean's radio silence. It is devastating to see such a brilliant publication treated so very poorly.

The current situation: vale.rocks/micros/20260...
CSS-Tricks in Limbo - 15 Sept 2026 01:35 UTC
vale.rocks
September 15, 2026 at 1:34 AM
Today, I’m proud to announce Homebrew 7.0.0. The most significant changes since 6.0.0 are faster installations and upgrades, stronger sandboxing, a native macOS app, built-in vulnerability checks and an advisory database, the end of macOS 10.15... | brew.sh/2026/09/13/h...
7.0.0
Today, I’m proud to announce Homebrew 7.0.0. The most significant changes since 6.0.0 are faster installations and upgrades, stronger sandboxing, a native macOS app, built-in vulnerability checks and ...
brew.sh
September 14, 2026 at 8:18 PM
Lumos Framework | Lumos is a component and styling framework for Astro, designed around efficiency, scalability and accessibility. Free and open source. | lumosframework.com
Lumos Framework
Lumos is a component and styling framework for Astro, designed around efficiency, scalability and accessibility. Free and open source.
lumosframework.com
September 14, 2026 at 8:07 PM
Developer Signals - Shape Web Platform Priorities | Discover upcoming web platform features, upvote features you want, and provide structured signals to help browser vendors prioritize. | developer-signals.rviscomi.workers.dev
Developer Signals - Shape Web Platform Priorities
Discover upcoming web platform features, upvote features you want, and provide structured signals to help browser vendors prioritize.
developer-signals.rviscomi.workers.dev
September 14, 2026 at 6:13 PM
Zod 4.6 is now available: .validate() checks input validity without building a result (up to 35x faster than .safeParse().success on a compiled schema) | zod.dev/blog/zod-4-6
Zod 4.6
Zod 4.6 is now available, with .validate() for boolean validation, .properties() on z.instanceof(), and six more JSON Schema keywords.
zod.dev
September 14, 2026 at 6:09 PM
Patrick - What's missing from the web to support transparent browser restarts? | Could new web storage capabilities help sites preserve temporary state across browser restarts, cra... | patrickbrosset.com/articles/202...
Patrick - What's missing from the web to support transparent browser restarts?
Could new web storage capabilities help sites preserve temporary state across browser restarts, crashes, and discarded tabs?
patrickbrosset.com
September 14, 2026 at 4:10 PM
Real-time collaboration on Ephemeral Pages | www.youtube.com/watch?v=kaNN...
Real-time collaboration on Ephemeral Pages
YouTube video by Schalk Neethling
www.youtube.com
September 14, 2026 at 3:57 PM
Faint [Live in São Paulo] (Official Video) - Linkin Park www.youtube.com/watch?v=zNYs...
Faint [Live in São Paulo] (Official Video) - Linkin Park
YouTube video by Linkin Park
www.youtube.com
September 11, 2026 at 6:19 PM
Reposted by Schalk Neethling
I've covered old HTML relics away from standards, so CSS seemed like the natural next up. Here are a variety of styling oddities and curiosities from years long passed.

You know the gist. It is mainly the fault of Internet Explorer.

vale.rocks/posts/css-re...

#CSS #WebDev
CSS Curiosities of the Past
Summary of the various CSS syntaxes, parsing bugs, hacks, bespoke features, and implementations used across browsers and the web to achieve specific goals in the days before browser vendors became more adherent to a single solid specification. Particularly focusing on the non-compliant, bespoke implementations of functionality seen in Microsoft's Internet Explorer.
vale.rocks
September 11, 2026 at 5:14 AM
Reposted by Schalk Neethling
Ooooh, the Stylelint team are removing some dependencies and in the process also making it easier to run Stylelint in the browser.

github.com/stylelint/st...
Refactor `stringFormater` and `TIMING` to remove `table` and `string-width` deps by jeddy3 · Pull Request #9495 · stylelint/stylelint
Which issue, if any, is this issue related to? Closes #9341 Is there anything in the PR that needs further explanation? Replaces the table and string-width deps (and 11 transitive dependencies) ...
github.com
September 9, 2026 at 7:33 AM
Introducing WebDev Bench: A Coding-Agent Benchmark Judged on Web Platform Standards schalkneethling.com/posts/introd...
Introducing WebDev Bench: A Coding-Agent Benchmark Judged on Web Platform Standards
WebDev Bench judges coding agents against the web platform's own standards, not visual fidelity or preference votes. Here is what the foundation phase built, what its first pilot found, and what comes next.
schalkneethling.com
September 8, 2026 at 7:58 PM
Update figure-figcaption-video-and-accessibility.md by extra808 · Pull Request #1447 | github.com/schalkneethl... - Love it when people take a moment of their time to make my articles even better.
Update figure-figcaption-video-and-accessibility.md by extra808 · Pull Request #1447 · schalkneethling/schalkneethling.com
Change orbit-label from visually-hidden to hidden. Elements referenced by aria-labelledby don't need to be in the accessibility tree. This avoids screen readers announcing the visually-hidden t...
github.com
September 8, 2026 at 7:54 PM
Reposted by Schalk Neethling
I raised multiple proposals for Interop 2027.

Please consider voting github.com/web-platform...
Issues · web-platform-tests/interop
web-platform-tests Interop project. Contribute to web-platform-tests/interop development by creating an account on GitHub.
github.com
September 8, 2026 at 8:29 AM
gitleaks/gitleaks: Find secrets with Gitleaks 🔑 | github.com/gitleaks/git...
GitHub - gitleaks/gitleaks: Find secrets with Gitleaks 🔑
Find secrets with Gitleaks 🔑. Contribute to gitleaks/gitleaks development by creating an account on GitHub.
github.com
September 7, 2026 at 7:52 PM
BLEED FROM WITHIN - SUMMER 2026 TOUR VLOG #1 www.youtube.com/watch?v=5_M8...
BLEED FROM WITHIN - SUMMER 2026 TOUR VLOG #1
YouTube video by Bleed From Within
www.youtube.com
September 7, 2026 at 4:33 PM
Evanescence - Tell Me When You've Had Enough (Official Music Video) www.youtube.com/watch?v=Uezr...
Evanescence - Tell Me When You've Had Enough (Official Music Video)
YouTube video by Evanescence
www.youtube.com
September 6, 2026 at 5:15 PM
Reposted by Schalk Neethling
Two a11y engineering roles (one of them early career!) at Apple in London in the team my daughter manages. These sound like excellent roles to share with UK a11y folks.

jobs.apple.com/en-gb/detail...

jobs.apple.com/en-gb/detail...
Accessibility Engineer (Web Accessibility SME) - Jobs at Apple (UK)
Apply for a Accessibility Engineer (Web Accessibility SME) job at Apple. Read about the role and find out if it’s right for you.
jobs.apple.com
September 1, 2026 at 11:40 AM
Reposted by Schalk Neethling
Gecko: Intent to prototype and ship: CSS generic() function
Gecko: Intent to prototype and ship: CSS generic() function
Gecko: Intent to prototype and ship: CSS generic() function
groups.google.com
September 1, 2026 at 7:18 AM
Bring the Console API to CSS with css-console| www.youtube.com/watch?v=Qj4y...
Bring the Console API to CSS with css-console
YouTube video by Schalk Neethling
www.youtube.com
August 31, 2026 at 6:03 PM
Figure, video, figcaption, and accessibility | What makes a video element accessible is captions, descriptions, and a transcript. When those aren't available, what options remain for providing an accessible name for a video element? | schalkneethling.com/posts/figure...
Figure, video, figcaption, and accessibility
What makes a video element accessible is captions, descriptions, and a transcript. When those are out of reach, what are the remaining options for giving a video element an accessible name?
schalkneethling.com
August 31, 2026 at 8:51 AM