daisy / ace

Ace by DAISY, an Accessibility Checker for EPUB
MIT License
75 stars 22 forks source link

List of Images missing SVG tagged images #348

Closed clapierre closed 3 years ago

clapierre commented 3 years ago

Occurs in both Ace CL 1.1.1 Ace GUI 1.1.2

When a JPG/PNG image is wrapped inside a SVG tag the image does not appear in the list of images tab.

Here is an example one publisher we are reviewing did this:

<svg xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 1400 1600" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image height="1600" width="1400" xlink:href="image/Cover.jpg"></image>
</svg>
danielweck commented 3 years ago

Hello Charles.

I believe the issue exists in v1.2.1 (now officially published to NPM under the latest release tag https://www.npmjs.com/package/@daisy/ace/v/latest )

Would you be so kind as to try the latest version of Ace CLI? The Ace App v1.1.3 will be deployed within the coming hours, we are just finalising code-signing now.

clapierre commented 3 years ago

Hi @danielweck Just upgraded the Command Line version to v1.2.1 and tested the same EPUB the image was not present in the list of images.

charlesl@18-019 Kirjapaja-Round1-Set1 % ace -v 1.2.1

clapierre commented 3 years ago

Just verified with latest Ace GUI 1.1.3 this morning that the SVG wrapped PNG does not show up in the images tab.

danielweck commented 3 years ago

Fixed via https://github.com/daisy/ace/commit/64e0e4378dd3c8599b9b0542e7e6768deb927074

I wrote these tests to check edge cases (don't mind the bizarre roles and text, this is just to verify that the parser picks-up SVG namespaces, self-closing elements, title attribute in the parent SVG element, title element in the image child, ARIA described-by, all with text normalization):

<svg role="presentation" xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 1400 1600" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
    <image height="1600" width="1400" xlink:href="./image_001.jpg">
        <title>
            title    alt1  
        </title>
    </image>
</svg>

<vec:svg title="title alt2" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 1400 1600" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
    <vec:image height="1600" width="1400" xlink:href="./image_002.jpg"></vec:image>
</vec:svg>

<label id="txt">
     this is      text   
</label>

<svg role="img" aria-describedby="txt" xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 1400 1600" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><image height="1600" width="1400" xlink:href="./image_003.jpg" /></svg>
clapierre commented 3 years ago

@danielweck what version would this be I then I assume post 1.1.3 / 1.2.1?

danielweck commented 3 years ago

if it's urgent I can relatively easily publish an official update to Ace CLI. However the process of releasing Ace App installers is quite time consuming, so I would recommend using the alpha builds which are automatically generated by the continuous integration server

clapierre commented 3 years ago

Its not urgent, but would be nice if you would consider the small improvement to the # of items shown in the tabs and increase them from the default 10 to at least 50 or 100 or show everything like you do with images., I am constantly having to increase that # of metadata issues / violations etc. ie. issue #342.

That is my biggest pet peeve at the moment ;)

clapierre commented 3 years ago

Verified that 1.2.2 does pull out the svg wrapped png images now! Thanks

danielweck commented 3 years ago

Thank you for the heads-up Charles.

For your information, I have just published Ace CLI 1.2.2. The latest automated "alpha" build of Ace App 1.1.4 now includes Ace 1.2.2.

Change log: https://github.com/daisy/ace/releases/tag/v1.2.2

Download Ace App from: https://github.com/daisy/ace-gui/releases