[Webkit-unassigned] [Bug 52148] [Gtk] Implement support for Embedded Objects

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 10 06:32:53 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=52148





--- Comment #6 from Mario Sanchez Prada <msanchez at igalia.com>  2011-03-10 06:32:54 PST ---
I have a working implementation of a patch for this bug, but before attaching it I'd like to comment some things on top of this description, for clarity.

(In reply to comment #0)
> [...]
> 1. The AtkText implementation for each paragraph should contain an embedded object character for each embedded object:
> 
> * Here's our logo: <eoc> It reminds me of airport security screenings.
> 
> * Choose: <eoc> <eoc> (pick one or more)
> 
> * Choose: <eoc> <eoc> (just pick one)
> 
> * Choose: <eoc> <eoc> (just pick one)

As I commented via mail to Joanie, there's a problem for this and it's that, even though the example uses <input type="radiobutton">text</input> to associate the 'text' string with the button, in practise such relationship doesn't get reflected in the DOM tree since the </input> end tag is not correct, hence it will be ignored.

According to the HTML spec:
http://www.w3.org/TR/html4/interact/forms.html#h-17.4

 "17.4 The INPUT element
  [...]
  Start tag: required, End tag: forbidden"
                       ^^^^^^^^^^^^^^^^^^

That explains while in the DOM, rendering and a11y trees the object associated to the INPUT element has no child with the text, but just a sibling holding both the text that was originally between the <input> and </input> marks, as well as any other text that might be present in that line.

Hence, I think that we have no other option that representing this as firefox currently does, something like:

   * Choose: <eoc>apples <eoc>oranges (just pick one)

...and then AT's would need to do some extra work to figure out which text is related to which input elements. In the case of the GTK toolkit is different because both check and radio buttons have internal attributes for holding a (optional) string as a label, but for the case of HTML that's not that way, and we can't either make assumptions like "the text at the right/left side of the button", or the like. 

Guess that the only option would be to explicitly use the <label> tag to 'label' those objects in some way...

> 2. Each embedded object should implement AtkHyperlink.

Done in the current patch. Evey embedded object implements this the AtkHyperlinkImpl interface, allowing to get a instance of the AtkHyperlink class for every embedded object.

Also, every instance of the AtkHyperlink class can return the associated AtkObject by calling to atk_hyperlink_get_object().

> 3. Each paragraph should implement AtkHypertext.

Done.

> (I realize this is likely at least three bugs/rfes. But I will let Mario triage and make this an embedded object metabug if and how he sees fit. :-) )

I think it's ok having it under the same bug :-)

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list