Updated: October 15, 2024
Current Version: "1.0.1"
See the Attached: Access-Aide_v101.zip
Requires: Sigil 1.6.0 or later.
Official Github site:
https://github.com/kevinhendricks/Access-Aide
Changes since the Previous Release
version 1.0.1
- handle svg as special case when extracting metadata by parsing for top-level desc tag
version 1.0.0
- restrict adding xml:lang to the opf package tag to epub3 only
- make adding accessibility schema metadata conditional on no use
of audio, video, javascript, and mathml, no longer abort when they are found
version 0.9.7
- fix inadvertent whitespace indentation error caused by copy paste
version 0.9.6
- better handle cases where images have no xml metadata (Thank you BeckyEbook)
version 0.9.5
- added ability to auto fill empty image alt attributes from image metadata
including xmp AltTextAccessibility and exif ImageDescription
version 0.9.1
- reverted to allowing duplicate images each with their own alt tag per link
- Fix bug in Alt Text Editor cancel not actually cancelling the image alt text updates
- completely removed the use of the Tk graphical user interface for image
alt text editing because Tk and Pillow have no support for pure svg images.
To replace it, The Qt for Python graphical user interface as provided by
PySide6 (for Qt6) and PyQt5 (for Qt5) is used instead. The resulting Qt
based Alt Text Editing dialog is much improved and much more stable.
As a result the new minimum supported version of Sigil is ***Sigil 1.60 or later***
- if the OPF package tag does not have an xml:lang element to indicate the primary
language of its metadata tags, one is now added based the primary epub dc:language
- Beta testers have reported significant speed increases and useability improvements over the Tk version.
- version 0.5.5 - add workaround for quickparser bug not stripping attribute names properly
- version 0.5.4 - add schema::accessibilityHazard support
- version 0.5.3 - fix accessgui scaling for thin but wide images that truncate to 0 height
- version 0.5.2 - fix Windows mixed case path bug, extra whitespace bug
in xmlheader, handle self-closing title tags when updating titles
- version 0.5.1 - fix typo in variable name bug path vs apath
- version 0.5.0 - update to work with new Sigil 1.0 plugin interface
- version 0.4.3 - sync accessgui.py to master, do not add epub:type to body tags
- version 0.4.2 - update rules to assign aria roles based on epub 3.2/3.02 spec
- version 0.4.0 - initial release
License/Copying: GNU LGPL Version 2 or Version 3, your choice. Any other license terms are only available directly from the author in writing.
Minimum Sigil Version: support for this plugin is provided for Sigil 1.6.0 and later using the Python 3.4 or later Python interpreter.
Goal
The goal of this program is to help improve the Accessibility of your epub to help meet ACE requirements. It strives to create an epub that meets the following criteria:
Code:
schema:accessMode: textual
schema:accessMode: visual
schema:accessModeSufficient: textual
schema:accessibilityFeature: structuralNavigation
schema:accessibilitySummary: This publication conforms to WCAG 2.0 AA.
schema:accessibilityHazard: none
Before you run Access-Aide
Before running AccessAide you should make sure your epub has passed epubcheck and that you have properly added the appropriate semantic tags to mark your ebook files appropriately.
How it Works
This edit plugin will read/edit the content.opf to determine the primary language used, identify any nav or ncx and will add the appropriate metadata.
The ncx or nav is then parsed to collect titles for every xhtml file and in the case of the nav will also collect epub:type landmark information.
Then for each xhtml file, the plugin will:
1. add lang and xml:lang attributes to the html element and opf package tag
2. fill in any missing title tag that is a child of the head tag
3. will add empty alt attributes to any img tag where it is missing
4. collect a list of all image tags and their current alt text descriptions
5. add in appropriate epub:type semantic tags (for epub3 only)
6. map epub:type attributes to their appropriate aria role attribute
Then a graphical user interface is generated showing a thumbnail of every img tag image and its associated alt text description, so that the user can easily and quickly add improves textual descriptions for each image used
Limitations ...
1. In able to properly achieve the schema:accessModeSufficient: textual critieria, Access-Aide will not add the accessibiiltiy schema metadata when provided with epubs that use javascripts, audio resources, video resources, and mathml because Access-Aide simply can not tell if the proper textual descriptions are provided in these cases.
2. The schema:accessibilityHazard set to none indicates you are using only
static images with no Video and no animated gifs. You need to verify that or manually edit this metadata value in your OPF.
3. svg image tags images are ignored as the "alt" attribute is not allowed on those tags. The proper way to handle svg: image tags is to provide the proper title and desc elements immediately after the svg start tag that contains the image element.
Access-Aide Plugin icon
This plugin includes a plugin icon that is in the public domain and provided by the The Accessible Icon Project that can be found at:
https://accessibleicon.org for the express purpose for promoting accessibility.
Thanks to DiapDealer, Doitsu, and elibrarian with their help testing and debugging earlier versions of the this plugin and for elibrarian for for promoting the idea in the first place.
For access to fixes before the next release see my github repo for Access-Aide:
https://github.com/kevinhendricks/Access-Aide