This is something that frustrates me: it's actually really hard to design for screenreaders because it's hard to actually check the results in a free/volunteer context. So you often just have to just hope you're being "semantic" enough.
And I did try to use Orca but I just could not get it to work, the TTS service was sulkily disinclined to accept any requests.