Skip to main content

The case for an accessibility designer vibe coding when all his coworkers are also vibe coding

I have complicated feelings about LLMs. I mean, a lot of people I know do. But this is also my blog, so I get to pontificate on those feelings and people… willingly read about them?

When it comes to vibe coding, I have to separate my personal thoughts and feelings from my professional. It’s not fun.

Emotionally, I feel like someone is holding a gun to the back of my head, and that gun is somehow hooked up to three trillion off-brand diesel engines firing on all cylinders. Intellectually, I know I’m an American and need uninterrupted healthcare.

Who is being centered?

While we race the clock to figure out how to make all this productive or profitable, the question I keep asking myself is: Am I letting my own personal beliefs and biases affect the outcome I ultimately want?

For me, the desirable outcome is enabling disabled people to use technology where they previously could not.

How is this made?

I am working to remediate an experience that GitHub is putting a lot of resourcing behind. And this effort is being dogfooded, 100% LLM-forward with its approach. Because of this, I also need to vibe code in order to contribute.

As an aside, my use of “vibe code” here is shorthand for quick English-language requests, more technical plans, corrective instruction files, scripts, skills, and other applicable techniques. What I am not doing is directly writing code.

It’s not a “when in Rome” situation. I am being structurally compelled to work this way, and also tracked and ranked based on my frequency and volume of token use.

What is produced?

I must confess: As someone who is good at writing detailed technical specifications and not so good at writing JavaScript, I am now capable of not only remediating the experience, but also enhancing it.

The app is slowly moving away from being just a gigantic pile of buttons. I have added interactive lists, treeviews, F6 navigation, typeahead node selection, and other quality of life improvements. My aria-label construction logic now ruthlessly disambiguates and puts the most salient information first, regardless of application or component configuration or state.

To me, that’s the “designer” part of my “accessibility designer” role.

I am not making something that is technically compliant, yet cumbersome-to-completely unusable in the actual. I’m making something that is compliant and—hopefully—also intuitve to operate with assistive technology.

Incentives and approaches

I think it is also worth pointing out that contemporary business culture does not incentivise going the extra mile for work that it does not perceive as having a direct and immediate connection to profitability. There isn’t a business case for using the lang attribute, folks.

In pre-LLM-based product design, accessibility efforts manifested as negotiations around time spent versus bare-minimum legal compliance. In other words: Sneak what you can in with the time made available to you.

In post-LLM-based product design, the time to create and verify these more historically effortful experiences is commpressed. It has taken me only a few days—and sometimes even hours—to repair components and experiences that traditionally were non-starters in terms of resourcing.

Here, I consider myself as doing my job, but I also know the organization views it as going the extra mile. However, the shorter turnaround time makes the organization’s concern far, far lower.

In effect, I am off in my own little corner hacking away about the thing I care about, the same way all my other peers are. It’s a lonely way of working, one that LLMs implicitly encourage. But that’s a separate concern for a separate day.

Interventions and optics

It is also worth mentioning that I am creating corrective instructions and skills as I go. These help steer what the LLM generates, guiding it towards more domain-specific accessible-by-default outputs.

Instructions and skills enable me to invisibly and exponentially amplify my otherwise near-Sisyphean efforts. This hypothetically allows me to stay on top of the pace and scale of the work—at least, until someone eventually takes offense to something I’ve written and writes countermanding orders.

And speaking of counter-instructions and the annoyance they cause: This method of working also creates far less percieved friction and conflict, and that is worth acknowledging.

Invisible structural adjustments that don’t affect the visuals of the experience allows everyone to feel good about accessibility work being done. It also downplays the inevitable tension when legal compliance runs against aesthetic sensibilities.

This style of indirect adjustment and machine-compelled course correction also allows me to more diplomatically address these tense moments when they do occur.

I die on fewer hills. Far less of my political capital needs to be spent, and the visual remediation work itself takes a lot less investment of time and effort. That’s big.

Anecdotal

I also know people who use assistive technology who share my views on LLMs. We talk about how they use the technology to create and share workarounds to things on the web that previously had been opaque and impenetrable to them.

One person in particular pointed out that prior to this, the only real move was to file a support ticket and hope for the best. And reader, we all know what happens in this situation.

Through the lens of power, this is a historically underserved demographic utilizing the tools made available to them to get what they want or need. It follows a long history of disabled people being forced to rely on ingenuity to overcome systemic barriers.

Zooming out

Digital accessibility work requires an extreme level of detail and precision, all while keeping a mind to the larger, holistic whole.

Writing fixes, as well as setting up the future-proofing bullwarks requires net more computational power. This is because you’re fighting against the inherent bias of LLMs being trained on majority inacessible code.

LLM-based development is undeniably making the internet less accessible (PDF). My efforts are a drop in a bucket.

I also have zero patience for the magical thinking-based future people will inevitably counter with when confronted with this fact—where agentic operation somehow sidesteps this problem entirely.

That said, I am also pragmatic.

LLM agents can read and take action on the accessibility tree. While I mislike that this de-centers the human experience all this is ultimately for, I also understand that this is the most compelling case for investment in digital accessibility we’ll get. At least until digital natives age into becoming disabled—and here I also think that this method of operation is temporary.

I am also firmly aware of the connection between climate change and disability, as well as who gets left behind in climate disasters.

It is hard to escape the guilt I feel that in attempting to address access barriers in a narrow scope in the short-term I am also contributing to mass-disabling conditions in the long-term.

Doing isn’t always learning

It also should be communicated that I am not conflating producing with learning.

I have enjoyed the ability to create logic and constructs that I previously could not due to my limited JavaScript capabilities. I also know that this method of working does not confer the more beneficial and foundational skills I desire.

Instead, I’m just getting better at cajoling a black box to spit out jackpots. I view this as far less desirable.

I’m just a little guy

It is, ah, difficult to acknowledge the feelings of my own ethical and ideological beliefs impacting against indifferent business mandates Crash at Crush-style. This is to say nothing about the whiplash, churn, and mask-off avarice that permeates everything as of late.

I am a person existing inside of layered, interconnected, and dysfunctional systems. And these systems all thwart attempts to navigate or repair them if they are counter to their end goals.

The book Radical Acceptance teaches us that we need to accept the present before we can build the resilience needed to constructively engage with a reality we view as negative. But also: There is a whole lot of reality we need to accept as of late, and this acceptance feels more and more like capitulation.

And no, I did not use a LLM to write this.