perhaps I wasn't clear enough in what I ment. By text fields, I ment the labels them selfs, the label controlls, of course you can't tab to those. Annotate another controll with them, perhaps, however focus can't arrive to labels unless they are marked with some tab order attribute, I forgot exact details.
@ethin, I DK if you linked the proper function or not, as I see many there, everything supported by an accessible. How it's done on linux, well, a bit more involved, that kind of overengineering in a box camlorn was talking about some time ago. So, a relationship object is created that has as the source the accessible object it's annotating, the type as labeled by, and the target yet another accessible object with the role of text. If you want to find the text an accessible is labeled by, you have to query for all the relationships of that object, a functionality all accessibles support. Then, you have to itterate over the collection, testing if type is labeled by. If so, it'll get a hold of the target, aka the label the accessible component is tied to. Finally, it will query for the text on that object, which is actually the text read to you by orca when that controll gains focus.
Yes, I get the implications of this, I hope people who read this do as well. Because the target of that relationship will be another accessible, nothing and no one would prevent someone for annotating an accessible component with, say, a button. Nothing much bad would happen anyway, the text will be read from the button in that case. In case it's not found, the controll will just be considered unlabeled and that's the end of that. However, such tiny flaws are many in atspi, enough a redesign would be required ages ago, perhaps we'll arrive to that soon enough.