And it's worse than this because there is no wayland. Without a strong reference implementation and with the very minimal wayland core protocol, each desktop environment picks and chooses and implements their own incompatible extensions for what should be wayland core features. This means you don't develop for linux, or even linux wayland. You develop for linux wayland mutter. Or linux wayland plasma. Or linux wayland hyprland. Because those three waylands are going to be doing things which you need every day on an average desktop in their own incompatible ways: https://wayland.app/protocols/
Developers have to decide which DE they'll have their applications run in rather than having your application be able to function across all linux desktops. This is different than how it was the last 20 years. No matter what else you say, this is a change from how it was. It's massive fragmentation of the userspace.
Literally the only wayland DE that supports screen readers right now is GNOME's mutter and that's mostly just for GNOME's software because of course they invented something new to work around the problems of the wayland architecture.
“I guess you have to decide if you are a GNOME app, an Ubuntu app, or an XFCE app unfortunately. I'm sorry that this is the case but it wasn't GNOME's fault that Ubuntu has started this fork. And I have no idea what XFCE is or does sorry.”
Prophetic words were once spoken and mocked long ere.
What is this “massive fragmentation” you speak of?
Anecdotally, I’m using Plasma, and every Gnome or Gtk app I’ve tried appears to be working perfectly, and vice versa when I occasionally try out Gnome.
Much less so for DIY/BYOB desktops like Hyprland, but I feel like that’s what you sign up for there.