The Children Are Driving the Bus
The Vercel CEO over on the hell-site tweets:
v0.dev produces the kind of production-grade code that we'd want to ship in our own @vercel products.
That was the bar we set for ourselves.
At the moment it can output HTML with @tailwindcss and React w/ @shadcn UI. pic.twitter.com/hWLzpmyaG2
He includes an image showing an LLM code generation tool with alternative text consisting of a URL.
Ashlee Boyer did the thing nobody at Vercel seemed willing to do — she took a passing glance at the accessibility of the output (there is a thread from this tweet):
Did some quick accessibility tests on v0.dev. I am disappointed, but not surprised.
The "toolbar for a wysiwyg editor" has buttons with no Accessible Name.
Inaccessible UI isn't "production-grade code". Unless "the bar you set for yourself" is low.
The image showed the flawed code.
Vercel’s CEO did the bare minimum expected of someone in his position, namely acknowledging and committing to nothing while qualifying this as an “alpha”. Which had the side effect of showing the Vercel CEO considers “alpha” tools can generate “production-grade” code.
In the meantime, a lot of guys whose sense of self-worth is clearly tied to their preferred tool (yes, read that as you see fit) piled on to Ashlee and did exactly what threatened insecure dudes do — they lashed out like angry toddlers.
Heather Buchel captured this wonderfully in her post The JS community on Twitter is dead.
We’re at this point:
- Some new alpha tool that impacts user interfaces is announced to the JS community? The accessibility community shows up with respectful feedback. Seems perfectly normal since alpha is the perfect time to get feedback.
- Accessibility advocate shows up with reasoned feedback and requests transparency and accountability? Misogynists, and nazis show up.
It was Twitter, after all, so of course the most toxic folks would come running at the smell of an easy hit to show their buddies. It probably did not help that Tailwind was mentioned, and following dear leader’s fragile ego, those apologists piled on as well.
Hidde wrote about the ableist interactions on top of the gratuitous misogyny:
Below, I’ll list some responses I found problematic, and try and explain why. I’m hoping this is helpful for people who want to understand better why accessibility is critical, and why accessibility specialists point this out.
He then presents six anonymous examples (made up of a few posts each) and explains why they are misinformed and arguably hateful. As a casual observer, we need to remember these are developers building interfaces for your family, your friends, and future you. That should be terrifying.
I saw nothing from Guillermo Rauch, Vercel’s CEO, to try to dissuade his ardent defenders from being bullies. Much morality. Very leadership.
Sophie Koonin looked at it from the very practical perspective of the overall broken business model:
Prototyping is one thing. Noodling around with UI ideas? Fantastic. Please don’t put it into production.
A pattern I’ve noticed with a huge number of tech/SaaS startups is:
- have idea
- build very quick, inaccessible UI “prototype” to test idea
- ship prototype to production
- prototype becomes the actual product
This tracks pretty closely with my overall argument in Accessibility ‘Gaps’ in MVPs, which has a paragraph that name checked Vercel’s v0 — ten months before it was announced:
Simply, if your MVP does not have accessibility factored in, it is not viable. If you claim accessibility is a core principle but your version 0 does not include it, then it is not a core principle.
Stop lying to us. Perhaps more importantly, stop lying to yourself.
Granted, nobody at Vercel has indicated in any way that accessibility is even remotely important. So I guess they get a pass on my “core principle” swipe.
Which also makes complete sense given React’s (former) engineering manager, now at Vercel, had this to say about user experience when it bumps up against developer experience:
So people started playing around with this internally, and everyone had the same reaction. They were like, “Okay, A, I have no idea how this is going to be performant enough, but B, it’s so fun to work with.” Right?
Everybody was like, “This is so cool, I don’t really care if it’s too slow — somebody will make it faster.”
[ dismissive chuckle, applause ]
“Somebody will make it faster.” Someone else, not me, will come along and fix this broken thing we are knowingly pushing out there. Not my problem; don’t harsh my buzz.
Read Taylor Hunt’s Why not React? if you want to be angry at a different thing, which is where I found that thoughtful quote.
I got all the way through this post and didn’t even touch on the core deceit of Vercel’s offering, which is LLM code generation marketed as AI. We already know LLMs cannot produce accessible code. Consider UserWay’s foot-gun of training an LLM on its own code and still producing output that got mocked by everyone who already knows UserWay’s barely casual relationship with the truth:
Folks in the A11y Slack community promptly gave it a run. They identified terrible image alternative text suggestions, incorrect use of ARIA for navigation controls,
buttonroles (with no event handlers),
aria-labelsuggestions for fields that already have a label, using the
titleattribute to provide instructions, and more. Each of those scenarios was a WCAG violation, meaning this tool would introduce failures.
Of course, if you are reading my blag-o-tron then you likely know I have opinions on whether or not LLMs will ever be up to the task of dealing with this:
Let’s assume those coding tools eventually get cleaned up to output idealized, conformant, accessible code. How will they account for platform bugs? No tool is stopping you from using CSS display properties on tables today. No accessibility overlay is rebuilding them dynamically to visually look the same while avoiding these long-documented bugs.
This isn’t an issue of not good enough yet. These tools simply won’t know the context or intent of the author (let alone the needs and expectations of the user). Certainly not while navigating the sea of bugs in nearly every learning source dataset (on the input side) or rendered screen to be fixed (on the output side).
Way too many of the hot technology stacks luring devs away from user-first principles are built on ableism and misogyny. They seemingly tease the lulz, endorphin hits of quick releases, and near-term support abandonment. It shows no signs up letting up.
If your sense of personal value is such that someone pointing out flaws in a demonstrably broken tool is enough to make your blood boil, then maybe you are in the wrong career. If you are making that tool, you are definitely in the wrong career.