I get the wider point that if accessibility features were good enough at describing the functionality and intent then you wouldn't need a separate WebMCP.
So what does WebMCP do that accessibility doesn't?
Seems to me, at cursory reading, it's around providing a direct js interface to the web site ( as oppose to DOM forms ).
Kind of mixing an API and a human UI into one single page.
I take the same issue when MCP servers are created for CLI tools. LLMs are very good at running Unix commands - make sure your tool has good `--help` docs and let the LLM figure it out just like a human would.
MCP is ultimately another solution to trying to make RPC(ish) situations more RESTful. I.e. they need self-documenting, discoverable APIs.
That's exactly what you can get from both HTML and the accessibility tree, though. We don't need another implementation for it. My guess (conjecture here) is that all the skills, MCP, WebMCP, etc talk is a manifestation of all the model providers and VCs backing them trying desperately to have others find ways to make LLMs worth the cost.
This leaves agents trying to work out page intent, allowed values for text fields - parsing returned pages for working out success or failure etc.
I'm assuming that's why they want what is effectively an in page API - that massively improves machine accessibility and can piggy back on browser authentication systems so the agent can operate on the users behalf.
A11y specs and APIs are just a way of presenting those semantics differently, often for those who can't see the page, whether visually impaired or in this case an LLM.
At least in my view, we should expect anything claimed to be artificial intelligence to be able to interact with things much like a human would. I'm not going to build an MCP for a CLI tool, for example, I'll just make sure it has a useful man page or `--help` command.
- the semantics of a form and a button and the resulting http POST/GET - and what the page actually does!
So I can have two pages - both with html forms - what they actually do on submission might be completely different - one buys a potted plant the other submits a tax return.
ie the meaning of the action is in the non-semantic elements - the free text, the images, the context.
This is the stuff that's hard for the agent to easily determine - is this a form for submitting a tax return or not?
If what you said is true then there would be already agents out there that use ARIA info to seemlessly operate the web. As far as I can see people have tried to use that information to improve agents use of the web - but have met limited success - and that's for well annotated sites - not because sites aren't ARIA enabled.
I would hope those two buttons and forms include labels, description text, indicators for required fields, etc. All of that should live in the HTML and includes attributes as needed for a11y. LLMs can use that, they don't need yet another API to describe it.
WebMCP isn't accessibility support for humans, it's accessibility support for agents, which despite all the hype, are less capable than humans in working out what's going on, and find functions and data schema's easier to understand than a web page designed for human ( whether that's a partially sighted human or not ).
This would be a game changer, currenly Voice Readers do not work very well with websites and a11y is a clunky set of tags that you provide to elements and users need to move around elements with back/tab and try to make a mental model of what the website looks like. With MCP and Voice chat, it is like talking to a person.
This is actually exactly where model providers could be doing some good. If they said a11y is the way for LLMs to interact with the web and helped push developers to docs, tutorials, etc the web would be better off. Google did effectively just that with HTTPS, they told everyone use it or lose SEO value rather than slapping some solution on Google's end to paper over poor security practices.