Transcript
Page 1: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

static void_f_do_barnacle_install_properties(GObjectClass

*gobject_class){

GParamSpec *pspec;

/* Party code attribute */ pspec = g_param_spec_uint64

(F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code",

0, G_MAXUINT64,

G_MAXUINT64 /* default value */,

G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE);

g_object_class_install_property (gobject_class,

F_DO_BARNACLE_PROP_CODE,

Joaquim [email protected]

Making the printed world accessible:A11y in OCRFeeder

FOSDEM 2011

Page 2: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

What is it?

Document Analysis and Optical Character Recognition

for GNOME

Page 3: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

What it does?

* Detect contents* Get their text using system-wide

OCR engines* Classify the contents as graphics

or text

Page 4: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

How it works?

* Detect contents* Get their text using system-wide

OCR engines* Classify the contents as graphics

or text* Export the document in an editable

format

Page 5: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Because of this, OCRFeeder is useful for visually impaired users

Page 6: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

... but there were some challenges when making the UI more

accessible

Page 7: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Page 8: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

How to make it more accessible?

Page 9: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

How to make it more accessible?

Page 10: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

How to make it more accessible?

Page 11: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Direct ways:* Check the focus with Orca

* Set the accessible object's name to every “anonym” widget

* Set mnemonics and shortcuts * Add a menu/kb shortcut for every

“mouse” action* Add missing labels

Page 12: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Accessible objects' names

Page 13: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Add shortcut keys and tooltip texts to every widget

Page 14: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Add missing labels (and don't forget to assign their mnemonic widget)

Page 15: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Add menu entries for actions that could only be done with the mouse

Page 16: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Indirect ways:

Page 17: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Add feedback for every major time taking operation

Page 18: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Importation from scanner is important... Many printed material on paper

Page 19: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Improvement of columns detection

Without the With theImprovement improvement

Page 20: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Deskew of images because they might be slightly rotated when imported from a scanner(using the Hough transform)

Page 21: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

A way to diminish the content areas' margins was added so it places the contents better in the generated documents.

Other improvements:Text cleaning: Correct false newline characters and remove hyphenation from the text given by OCR engines

Copy text to clipboard

Spellchecker support

Page 22: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Demo

Page 23: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Future work:* Assistant dialog to guide from

image addition to document generation

* Review focus changing* Use only one status bar

Page 24: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Webpage:http://live.gnome.org/OCRFeeder

git:http://git.gnome.org/ocrfeeder

Bugzilla:coming soon...

Page 25: Making the printed world accessible: A11y in OCRFeeder (FOSDEM 2011)

Joaquim Rocha (Igalia) · OCRFeeder · FOSDEM 2010

Thank you!