• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Form XObject containing Image XObject causes 'Other elements alternate text - Failed'

New Here ,
Jan 31, 2018 Jan 31, 2018

Copy link to clipboard

Copied

Hello.

Say we have a PDF with one page whose /Resources dictionary contains the /XObject dictionary referring to a Form XObject. Both the page's and the Form XObject's streams contain a marked content sequence. Sure, the Form XObject has its own StructParents (plural) key.

Every marked sequence of the Form XObject's content is referred to by structure elements via /MRC (PDF Specification paragraph 14.7.4.2).

For the Adobe Acrobat Accessibility Full Check everything is fine as long as:

  • the page's content contains some text (Tj);
  • the page's content consumes some Image XObject (Do);
  • the Form XObject's content contains some text (Tj);
  • the Form XObject's content consumes some other Form XObject (Do), in turn containing only some text (Tj).

Instead if the Form XObject's content consumes some other Image XObject (Do), the Full Check complains that such images are not properly tagged ('Other elements alternate text - Failed').

Instead the PAC3 Checker is happy.

Curiously, asking Adobe Acrobat to tag such images does nothing.

Please, consider that in my case extracting the Form XObject's content to put in directly in the page's content is not an option.

Considering the mismatch between the Adobe Full Check and PAC3, I need help to understand if the Adobe Full Check is right or not.

Thank you all.

TOPICS
Standards and accessibility

Views

2.7K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 01, 2018 Feb 01, 2018

Copy link to clipboard

Copied

Obviously I meant /MCR.

If needed, I can provide the PDF file.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 01, 2018 Feb 01, 2018

Copy link to clipboard

Copied

I have no knowledge of this, but I suggest to save time you post your EXACT (three part) version of Acrobat.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 02, 2018 Feb 02, 2018

Copy link to clipboard

Copied

Adobe Acrobat DC

Continuous Release:   2018.009.20050

Product Version:      18.9.20050.254034

File Version:         18.009.20050.57426

AGM Version:          4.030.00072

CoolType Version:     5.014.00025

Nucleus Version:      18.2304

JP2K Version:         1.002.00002.39492

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 02, 2018 Feb 02, 2018

Copy link to clipboard

Copied

Some more info. In the sample file, the page has /StructParents 0 and consumes a Form XObject, whose /StructParents is 1.

In general it seems that the /StructParents key of the Form XObjects is not handled properly. It seems that the page's parent tree map (key: MCID, value: struct elem's obj ID) clashes with the parent tree map of the Form XObject.

A related symptom is Preflight issuing the message "Inconsistent ParentTree mapping (ParentTree element 0) for structure element - Traversal Path: ->StructTreeRoot->K->[0]->K->[0]->K->[2]->K->[0]->K->[0]->K".

Following the suggested sub-tree, it is clear that Preflight, analyzing the marked content of the page, ends in struct elements related to the Form XObject. Instead, any StructParents value must have its own map, since they are independent; this is needed to let a Form XObject have its own StructParents different than the one of its containing page.

If needed, I can provide samples and screenshots to show this clearly: simply changing the MCID numbering of the page's marked sequence makes Preflight change its errors count and detail, anyway still referring to struct elements related to the Form XObject.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 05, 2018 Feb 05, 2018

Copy link to clipboard

Copied

Yes, confirmed, PreFlight does not seem to honor the /StructParents entry of Form XObject-s.

Example: the Form XObject has /StructParents 1 and its content has four MCIDs: 0, 1,2 and 3. The page has /StructParents 0 and its content has two MCIDs:

  • if such two MCIDs are 0 and 1, PreFlight complains about two "Inconsistent ParentTree mapping";
  • if such two MCIDs are 3 and 4, PreFlight complains about one "Inconsistent ParentTree mapping";
  • if such two MCIDs are 4 and 5, PreFlight is happy.

This leads to suppose that PreFlight is using a unique MCID map in its RAM, actually merging all the MCIDs of the page and of every XObject consumed by the page, thus ignoring the Form XObject's StructParents.

As usual, I can provide PDF samples for every case.

To summarize the thread, there are two unexpected behaviors about Form XObject-s:

  1. if a Form XObject's content consumes some other Image XObject (Do), the Accessibility Full Check complains about 'Other elements alternate text - Failed', even if the image is actually tagged: the loud reader says the expected alternate text and the Object properties dialog of the tag panel shows it;
  2. PreFlight ignores the /StructParents keys when it handles the MCIDs of a page and of Form XObjects consumed by the page.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 08, 2018 Feb 08, 2018

Copy link to clipboard

Copied

How to involve an Adobe Escalation Manager to investigate on such issues?

_____

And now, the third unexpected behavior, this time for the loud reader. The problem is about the 'read on mouse click' feature.

Say we have a Form XObject (A) containing a marked content sequence made of some texts (Tj), each enclosed in a BDC-EMC block.

If the Form XObject (A) contains all the text directly, everything is OK, indeed we can click on each text, that text only will be surrounded by a black rectangle and the lour reader reads it only.

Instead, if even one only text is contained as pure text (i.e. not a marked content sequence) in an inner Form XObject (B), all the text content of the Form XObject (A) is treated as a whole block, indeed clicking on any text, all the Form XObject (A) content will be surrounded by a black rectangle and the lour reader reads the last text.

I can provide PDF samples for every case.

To summarize the thread, there are three unexpected behaviors about Form XObject-s:

  1. if a Form XObject's content consumes some other Image XObject (Do), the Accessibility Full check complain about 'Other elements alternate text - Failed';
  2. PreFlight ignores the /StructParents key when it handles the MCIDs of a page and of Form XObjects' consumed by the page;
  3. if in a Form XObject's content a marked block consumes a pure text contained in an inner Form XObject (Do), the lour reader does not handle properly the feature 'read on mouse click' for the every text of the first Form XObject, direct or nested.

_____

Again: how to involve an Adobe Escalation Manager to investigate on such issues?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 08, 2018 Feb 08, 2018

Copy link to clipboard

Copied

Good luck with that.  If there is such a thing and you find a way, please let us know.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Feb 08, 2018 Feb 08, 2018

Copy link to clipboard

Copied

Can you provide a sample file where according to your observations StructParents is not handled correctly by Preflight?

Olaf

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 08, 2018 Feb 08, 2018

Copy link to clipboard

Copied

LATEST

Thank you for your time and help.

I've just sent a message with links to download the files.

Thank you again.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines