25
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 Rocha [email protected] Making the printed world accessible: A11y in OCRFeeder FOSDEM 2011

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

  • Upload
    igalia

  • View
    535

  • Download
    0

Embed Size (px)

DESCRIPTION

By Joaquim Rocha. A11y in OCRFeeder. Even with all the existing alternatives nowadays a lot of information is still printed on paper. OCRFeeder is an application for the GNOME desktop that makes it easier to convert document images (scanned documents) into digital/editable formats (such as ODT) by using a segmentation algorithm and OCR engines. Because of this, OCRFeeder is also a useful tool for the visually impaired who can use it together with Orca to be able to convert and read printed documents. Even with all the existing alternatives nowadays a lot of information is still printed on paper. OCRFeeder is an application for the GNOME desktop that makes it easier to convert document images (scanned documents) into digital/editable formats (such as ODT) by using a segmentation algorithm and OCR engines. Because of this, OCRFeeder is also a useful tool for the visually impaired who can use it together with Orca to be able to convert and read printed documents. In the year 2010, the main focus of OCRFeeder's development was the improvement of its accessibility, from the basic UI correction (widgets' accessible names, mnemonics, keyboard shortcuts, etc.) to the development of new features related to the contents detection and processing. In this talk I will give an overview of OCRFeeder and present in more detail the accessibility work mentioned above. Links: - Blog on OCRFeeder: http://www.joaquimrocha.com/category/ocr/ - OCRFeeder's webpage: http://live.gnome.org/OCRFeeder - OCRFeeder screencast: http://vimeo.com/6937052 - OCRFeeder attempt in Maemo: http://vimeo.com/3760126 - OCRFeeder's git: http://git.gnome.org/browse/ocrfeeder - OCRFeeder's releases: http://ftp.gnome.org/pub/GNOME/sources/ocrfeeder/

Citation preview

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!