{"id":15,"date":"2013-09-04T15:30:46","date_gmt":"2013-09-04T13:30:46","guid":{"rendered":"http:\/\/blogs.igalia.com\/apuentes\/?p=15"},"modified":"2013-09-04T17:51:49","modified_gmt":"2013-09-04T15:51:49","slug":"15","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/apuentes\/2013\/09\/04\/15\/","title":{"rendered":"Accessibility in Evince"},"content":{"rendered":"<p>The primary objective of the Friends of <a title=\"GNOME Accessibility project\" href=\"http:\/\/www.gnome.org\/news\/2013\/02\/call-for-bids-for-gnome-accessibility-work\/\" target=\"_blank\">GNOME Accessibility project<\/a> is to improve document accessibility.\u00a0 As part of this effort, <a title=\"Igalia\" href=\"http:\/\/www.igalia.com\" target=\"_blank\">Igalia <\/a>has been working in several areas related to PDF documents, focusing primarily on <a title=\"Evince\" href=\"https:\/\/projects.gnome.org\/evince\/\" target=\"_blank\">Evince<\/a> and <a title=\"poppler\" href=\"http:\/\/poppler.freedesktop.org\/\" target=\"_blank\">poppler <\/a>.<\/p>\n<p><strong>Keyboard navigation in Evince<\/strong><\/p>\n<p>Caret navigation is more than just a enhancement for users who prefer it over\u00a0 the mouse; it is an essential need for users who are blind or visually impaired. Orca users, for instance, interact with software and\u00a0 information by moving to the thing they want to read. In the case of\u00a0 accessing document content, that requires the ability to move amongst\u00a0 the paragraphs, lines, words, and characters. As they do so, Orca presents the new location via synthesized speech and\/or refreshable braille. Likewise, using a mouse to select regions of text is extremely difficult if you cannot see where you are on the screen.<\/p>\n<p>For users with low vision, having to use the mouse frequently to move the content into the magnified view can be extremely tedious, especially at high degrees of magnification. These users will also benefit from the\u00a0 addition of caret navigation to Evince &#8212; as soon as the long-awaited <a title=\"GNOME Shell's bug 647074\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=647074\" target=\"_blank\">caret and focus tracking support is added to GNOME Shell&#8217;s magnifier<\/a>.<\/p>\n<p>During the last few months, <a title=\"Carlos Garc\u00eda's blog\" href=\"http:\/\/blogs.igalia.com\/carlosgc\/\" target=\"_blank\">Carlos<\/a> and I have been working on the implementation of caret navigation. I am happy to announce that it is available starting with <a title=\"Evince's NEWS\" href=\"https:\/\/github.com\/GNOME\/evince\/blob\/master\/NEWS\" target=\"_blank\">Evince 3.9.5<\/a>.<\/p>\n<p><iframe loading=\"lazy\" title=\"Evince: Caret navigation\" width=\"584\" height=\"329\" src=\"https:\/\/www.youtube.com\/embed\/G-i05fcB-os?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>As with other applications, caret navigation can be activated by pressing F7.<\/p>\n<p>Using the following keys you can navigate through the document:<\/p>\n<ul>\n<li>Left\/right arrow keys: to move the cursor one character to the left\/right from the previous cursor position.<\/li>\n<li>Up\/down arrow keys: to move the cursor up\/down one line.<\/li>\n<li>Ctrl + left\/right arrow keys: to move the cursor to the beginning\/end of the previous\/next word.<\/li>\n<li>Home\/End keys: to move the cursor to the beginning\/end of the current line.<\/li>\n<\/ul>\n<p>To select the text you can use the keys above + press the Shift key.<\/p>\n<p>The\u00a0 implementation required some improvements in poppler, thanks Carlos, before the routines to navigate and select text in Evince could be developed. Some improvements are still in progress: poppler <a title=\"Poppler's bug 3188\" href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=3188\" target=\"_blank\">gets confused around tables and columns<\/a> and users are not yet able to <a title=\"Evince's bug 702074\" href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=702074\" target=\"_blank\">move the caret one page up\/down<\/a> using Page Up\/Down keys. But we hope to have these issues fixed soon, along with finishing the implementation of Tab access to form fields and links so that all users can quickly and efficiently access these items.<\/p>\n<p><strong>Tagged PDFs<\/strong><\/p>\n<p>A \u201ctagged\u201d PDF document is one that includes structural and semantic information which, if exposed to assistive technologies, greatly improves the accessibility of the content. While tagged PDFs are not widespread, they are often found in documents which are required by law to be accessible.<\/p>\n<p>For users who are blind, it is often desirable to be able to navigate amongst document elements such as headings, paragraphs, and tables, in much the same way that sighted users visually scan through headings to locate paragraphs about a desired topic. For these reasons, Orca and other screen readers typically include navigational commands to move more quickly amongst these objects than native caret navigation provides (e.g. jump to the next heading). Orca has these features in place, but because in Evince the entire document is exposed as a single accessible text object and lacks of the structural and semantical information provided by tagged PDFs, navigation amongst elements is not possible. Our plan is to fix that so that it becomes possible.<\/p>\n<p>Having said that, the benefits of tagged PDF support extend far beyond Accessibility and include:<\/p>\n<ul>\n<li>Reflow functionality<\/li>\n<li>Export to other applications with format, layout, font data, etc.<\/li>\n<li>Copy and paste to other applications with some fundamental retention of content format.<\/li>\n<\/ul>\n<p>As poppler lacks of support for tagged PDFs, and as first step, <a title=\"Adri\u00e1n P\u00e9rez's blog\" href=\"http:\/\/http:\/\/blogs.igalia.com\/aperez\/\" target=\"_blank\">Adri\u00e1n P\u00e9rez<\/a> has provided the patches to implement it in poppler. His work is available in the <a title=\"Poppler's tagged-pdf git branch\" href=\"http:\/\/cgit.freedesktop.org\/poppler\/poppler\/log\/?h=tagged-pdf\" target=\"_blank\">tagged-pdf<\/a>&#8216;s branch waiting for review.<\/p>\n<p>Continuing this path, during the next few months Igalia&#8217;s Accessibility team will focus on a major and needed rework of Evince&#8217;s accessibility. Upon completion of this work, Evince will be able to expose document content as discrete accessible objects with a significant amount of structural and semantic information, instead of having a single text object for the entire document. This, in turn, will make it possible for Orca and other assistive technologies to provide truly compelling access to PDF document content.<\/p>\n<p>Finally, thanks to the <a title=\"GNOME Foundation\" href=\"http:\/\/www.gnome.org\/foundation\/\" target=\"_blank\">GNOME Foundation <\/a>and the <a title=\"Friends of GNOME\" href=\"http:\/\/www.gnome.org\/friends\/\" target=\"_blank\">Friends of GNOME<\/a> supporters for their contributions towards making a more accessible GNOME.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The primary objective of the Friends of GNOME Accessibility project is to improve document accessibility.\u00a0 As part of this effort, Igalia has been working in several areas related to PDF documents, focusing primarily on Evince and poppler . Keyboard navigation &hellip; <a href=\"https:\/\/blogs.igalia.com\/apuentes\/2013\/09\/04\/15\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5,4],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-accessibility","tag-evince"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":37,"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"predecessor-version":[{"id":67,"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/posts\/15\/revisions\/67"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/apuentes\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}