Re: existing contract for working in Evince a11y



Hi, comments inline

On Wed, Apr 7, 2010 at 6:01 AM, Carlos Garcia Campos <carlosgc gnome org> wrote:
> Excerpts from Lorenzo Gil Sanchez's message of mié abr 07 00:10:11 +0200 2010:
>> Hi all,
>>
>> as some of you already know[1] we [2] have been hired by Consortium
>> Fernando de los Rios for the Knowledge and Information Society,
>> supported by the Regional Government of Andalusia in Spain [3], for
>> improving Evince accesibility [4].
>>
>> It is our primary goal to collaborate as much as possible with upstream
>> and so, we really want our patches to be included in Evince and Poppler.
>> In order to accomplish this we are going to use standard GNOME practices
>> for communication such as these mailing lists, bugzilla comments and
>> patches and irc channels.  We'd like to work in the openess from the
>> very beginning, sharing our ideas and experience to get feedback and
>> knowledge from the community.
>>
>> We know a few people have tried to work on this task in the past just by
>> looking at bug 309015. Recently Sam, Javed and Juanjo already expressed
>> their interest on it. We really want to avoid duplicating efforts so we
>> better all say what parts are we working on.
>>
>> Now for some technical details:
>>
>> We are going to implement the AtkText interface in the EvView widget. In
>> order to do so we are going to need to change poppler a bit so it can
>> pass the necessary text layout information to Evince and not just pixel
>> information. Does this comment[5] on bug 309015 still makes sense?:
>>
>> "Nicolay and he suggested me three steps to follow:
>>
>> 1) Replace poppler_page, poppler_selection and poppler_link with a single
>> poppler_markup that should contain a) letters combined in words b) their
>> coordinates c) links if required
>>
>> 2) use this poppler_markup to implement AtkText
>>
>> 3) use it in rendering selections and in text search"
>>
>> Do you guys think it is a good starting point?
>
> Yes, although I would leave current selection rendering and text
> search unmodified at the moment. In order to implement AtkText we need
> the text map of the page from poppler (the list of words, characters,
> bounding boxes, etc.). That's already implemented by poppler in
> TextOutputDev, but not exposed by the glib bindings, so I would start
> adding new API to the glib bindings for that.
>
I had a look at the AtkText interface, and it looks to me that
although it's widget based, it can be easily translated to be Document
based. I mean, if a function expects coordinates in the widget space,
you can have the same function but expecting coordinates in the doc
space (i.e. page number + coordinates in page in usual 72dpi res).
Then, as Carlos said, a lot is already implemented in TextOutputDev
and this "almost AtkText" api can be added there (since it would be
doc based and not widget based) and exported trought poppler-glib.
Doing this would allow easy addition of accessibility to any widget
using poppler, not only to evince.

If the thing I said about is not silly, then implementing the AtkText
interface in EvView is easy, each time you have coordinates in widget
space, there is already all the internal api in EvView to transform
these coordinates to Doc coordinates, and then just call the
corresponding "almost" AtkText function.

So, to resume, my point is that, maybe it's a good idea to add the
almost atkText interface directly to poppler instead of just exporting
the text map from poppler and do everything from evince.


Hope it makes some sense. Greetings,

José





>> Best regards and sorry for the cross-posting :(
>>
>> Lorenzo
>>
>> [1] https://bugzilla.gnome.org/show_bug.cgi?id=309015#c47
>> [2] http://www.yaco.es
>> [3] http://www.consorciofernandodelosrios.es/
>> [4] http://live.gnome.org/Guadalinfo_accesible (check Lot 3)
>> [5] https://bugzilla.gnome.org/show_bug.cgi?id=309015#c24
>>
> --
> Carlos Garcia Campos
> PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
>
> _______________________________________________
> Evince-list mailing list
> Evince-list gnome org
> http://mail.gnome.org/mailman/listinfo/evince-list
>
>


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