{"id":470,"date":"2014-07-10T12:55:01","date_gmt":"2014-07-10T10:55:01","guid":{"rendered":"http:\/\/blogs.igalia.com\/jaragunde\/?p=470"},"modified":"2014-09-10T11:02:34","modified_gmt":"2014-09-10T09:02:34","slug":"hot-accessibility-for-libreoffice-4-3-0","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/jaragunde\/2014\/07\/hot-accessibility-for-libreoffice-4-3-0\/","title":{"rendered":"Hot accessibility for LibreOffice 4.3.0"},"content":{"rendered":"<p>The first <a href=\"http:\/\/www.libreoffice.org\/download\/pre-releases\/\" title=\"LibreOffice pre-releases\" target=\"_blank\">release candidates<\/a> for LibreOffice 4.3.0 are already bouncing around the internet and, besides <a href=\"http:\/\/blogs.igalia.com\/jaragunde\/2014\/06\/26\/tales-of-libreoffice-interoperability-shape-effects\/\" title=\"Tales of LibreOffice interoperability: shape effects\" target=\"_blank\">great new features<\/a> like the ones I&#8217;ve been explaining in my latest posts, they come with a set of fixes to ease the life of screen reader users and developers alike. This is, once again, a part of the<a href=\"http:\/\/www.igalia.com\/accessibility\/\" title=\"Igalia accessibility\" target=\"_blank\"> accessibility work we do at Igalia<\/a>.<\/p>\n<p>Back in April, when the <a href=\"https:\/\/wiki.documentfoundation.org\/Hackfest\/GranCanaria2014\" title=\"Gran Canaria 2014 hackfest\" target=\"_blank\">Gran Canaria hackfest<\/a> took place, I started working on the <a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=71556\" title=\"Link to LibreOffice bugzilla\" target=\"_blank\">bug #71556<\/a>. The problem was that typing on a document triggered a lot of unnecessary <em>text-attributes-changed<\/em> events. These events had a variety of origins, but most of them were caused by modifications in the internal text attribute <em>rsid<\/em>, used for change tracking and with no relevance <em>per se<\/em> for the user. The bug is not completely fixed, but addressing the problem with <em>rsid<\/em> attribute allowed us to get rid of the most annoying part of it; now LibreOffice only sends one unnecessary event when we type the first character in a new paragraph and not with every keystroke.<\/p>\n<p><a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=71558\" title=\"Link to LibreOffice bugzilla\" target=\"_blank\">Bug #71558<\/a> is also related with the same kind of events; in this case, <em>text-attributes-changed<\/em> was not being triggered when a word became marked as misspelled. Actually, the spell-checking status is not internally treated as a text attribute and because of that there were no events indicating its change. The patch explicitly raises the event which lets the accessibility code check the status of the text attributes and find out the spelling mistake. While I was working on this issue, I also detected a weird behavior when checking the text attributes through the Python API; it resulted to be a bug in the bridge between AT-SPI and ATK, which I <a href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=731980\" title=\"Link to GNOME bugzilla\" target=\"_blank\">reported and fixed<\/a> too.<\/p>\n<p>A triaging session took me to <a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=74681\" title=\"Link to LibreOffice bugzilla\" target=\"_blank\">bug #74681<\/a>; the main issue reported there had already been fixed for a while and only small bits regarding missing accessible names in some buttons were missing. I fixed that allowing toolbar buttons to use their tooltip text as the accessible name if it is not explicitly set, and now the paragraph properties panel is fully accessible.<\/p>\n<p>Finally, I retook the work I had been doing in relation with ATK roles at <a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=39944\" title=\"Link to LibreOffice bugzilla\" target=\"_blank\">bug #39944<\/a> and detected wrong mappings for LibreOffice <em>EDIT_BAR<\/em>, <em>EMBEDDED_OBJECT<\/em> and <em>HYPER_LINK<\/em> accessible roles. I fixed them and opened a <a href=\"https:\/\/bugzilla.gnome.org\/show_bug.cgi?id=732702\" title=\"Link to GNOME bugzilla\" target=\"_blank\">ticket in ATK bugzilla<\/a> to create ATK roles for the five cases that were still registering custom roles. Once that ticket is managed, hopefully we will be able to close <a href=\"https:\/\/bugs.freedesktop.org\/show_bug.cgi?id=75191\" title=\"Link to LibreOffice bugzilla\" target=\"_blank\">bug #75191<\/a> too, which is related with the deprecation of <em>atk_role_register<\/em>.<\/p>\n<p>These fixes are added on top of the ones coded in <a href=\"http:\/\/blogs.igalia.com\/jaragunde\/2014\/02\/25\/libreoffice-ux-hackfest-for-an-accessible-user-experience\/\" title=\"LibreOffice UX hackfest: for an accessible user experience\" target=\"_blank\">February hackfest<\/a>, making 4.3.0 the most accessible LibreOffice so far&#8230; Until the next version arrives, of course!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first release candidates for LibreOffice 4.3.0 are already bouncing around the internet and, besides great new features like the ones I&#8217;ve been explaining in my latest posts, they come with a set of fixes to ease the life of &hellip; <a href=\"https:\/\/blogs.igalia.com\/jaragunde\/2014\/07\/hot-accessibility-for-libreoffice-4-3-0\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,3,17],"tags":[],"class_list":["post-470","post","type-post","status-publish","format-standard","hentry","category-accessibility","category-igalia","category-libreoffice"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts\/470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/comments?post=470"}],"version-history":[{"count":9,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts\/470\/revisions"}],"predecessor-version":[{"id":480,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/posts\/470\/revisions\/480"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/media?parent=470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/categories?post=470"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/jaragunde\/wp-json\/wp\/v2\/tags?post=470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}