[g-a-devel]Re: questions on nsIAccessibleHyperLink



Bill Haneman wrote:
On Mon, 2002-06-17 at 10:22, Gilbert Fang wrote:
  
Hi, Peter
Thank you very much for your suggestons.

But for details, eg. in this case:

I'm assuming now that the full HTML looks more like:

  <a href="" alt="A new page"> first part <img src=""
alt="second image"> third part</a>

Link: "A new page" at "first part [image: second part] third part"
        going to "newPage.html"
  ...

(image above that each line is successively spoken or sent to Braille, and the
"[image: ...]" is either spoken in a different voice or indicated in Braille
with a special dot-pattern.

We consider it as a HyperLink with one anchor, (mozilla did not see it 
as three link but three accChildren, my suggestion is to
see it as three but now I will change my points according to your 
explanation). But in ATK, we only can get ONE OBJECT
for one anchor. How do we expose there are really three part contents .
    

There is no fundamental reason why the object returned by
atk_hyperlink_get_object (hyperlink, 0) cannot be a container and thus
have children.
Yes, I agree. I will return a nsIAccesssilbe which will have three children: nsIAccessible(ROLE_TEXT),
nsIAccessible(ROLE_GRAPHIC) , and nsIAccessible(ROLE_TEXT)
However if you choose to indicate the relationship between the text and
images in an HTML pane by making them siblings, you have a problem since
you then split the anchor across three different AtkHypertext objects; I
think this is the main issue.
I do make them silblings, but not by three different nsIAccessibleHyperText object. Actually, they are nsIAceessible object.
So I do not think it is a problem .
If on the other hand, you consider the entire paragraph or even HTML
page to be a single AtkHypertext object, the problem becomes "where do I
put the image" ? 
Yes, in my view, every DOMNode -- that is every html elements can be seen as a HyperText.

If the image is a separate child of the AtkHypertext object, in this
case it can also implement AtkHypertext, and its anchor can point to the
same URI as the text's anchor. 
Yes, the image itself is kind of HyperText, but it will not be an anchor. It is just one part in a hyperlink.
 This would mean that multiple anchors
point to the same URI, but that is perhaps a reasonable interpretation
of the user's experience.  In other words, as a user, I can 'click' on
either the text *or* the image to follow the link, so it is not
inconsistent with the user's experience to say that there is more than
one anchor or hyperlink in this case.  You could have all of these
hyperlinks return either a container that contained both AtkText and
AtkImage, so that no matter which link is activated the user gets
consistent information about the hyperlink itself, or you could have the
links return an AtkObject that implemented both AtkImage *and* AtkText.
Yes. I see. I think a container that contained both ATKText and ATKImage is more reasonable

If you already have three children of the HTML pane, one for the first
part of the text up to the image, one for the image, and one for the
second part of the text, this is my suggestion:

	make all three objects implement AtkHypertext
yes, I do.
	make them return the same AtkHyperlink object in all three cases
yes, I do it too now.
	make atk_hyperlink_get_object (link) return a container with 		three
children, AtkText, AtkImage, and AtkText.
yes. In fact , these are what I thought . Because I am not sure about ATK, I need a expert on ATK  to review my thoughts.
Thank you very much Bill.

It requires that ATs like screenreaders query the children of objects
returned by atk_hyperlink_get_object, if they exist, but this probably
would need to happen anyway for some complex cases.

comments are welcome, I hope this was helpful.


-Bill
Thanks and Best Regards.
Gilbert 





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]