Skip to content

Support accessibility metadata (#701)#705

Merged
ja573 merged 31 commits intolaunch/v1.0.0from
feature/701_accessibility_fields
Dec 12, 2025
Merged

Support accessibility metadata (#701)#705
ja573 merged 31 commits intolaunch/v1.0.0from
feature/701_accessibility_fields

Conversation

@rhigman
Copy link
Member

@rhigman rhigman commented Sep 2, 2025

Fixes #701. Related to #577.

Adds support for various accessibility metadata fields to data model, API, and ONIX outputs. No new fields added to APP interface.

New fields added to all ONIX outputs where this is valid ONIX, as the metadata is required for EAA compliance. However, not all target platforms have made it clear yet whether they have started supporting this metadata. On release, we should monitor submissions to these platforms in case of issues.

  • JSTOR: should be supported (specs encourage providing rich metadata, including a11y)
  • MUSE: should be supported (recent communications state they are working on storing a11y metadata)
  • OAPEN: a11y metadata not yet in data model, but unsupported fields have historically been silently dropped rather than causing ingest failures
  • Google Books: a11y metadata not mentioned in specs; unclear whether unsupported fields cause failures
  • Overdrive: no a11y information found
  • EBSCOhost: should be supported (specs state any valid ONIX is acceptable)
  • ProQuest: no a11y information found

This PR also includes some fixes for #682.

@rhigman rhigman marked this pull request as ready for review September 9, 2025 09:36
contact_id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
publisher_id UUID NOT NULL REFERENCES publisher(publisher_id) ON DELETE CASCADE,
contact_type contact_type NOT NULL DEFAULT 'Accessibility',
email TEXT NOT NULL CHECK (octet_length(email) >= 1),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wasn't in the scope of your work, but ONIX 3.1.2 now includes Street Address, Location, Postal Code, and Country Code for Product Safety Contact for EU GPSR compliance: https://www.editeur.org/files/ONIX%203/APPNOTE%20Product%20safety%20requirements%20in%20ONIX.pdf

So we should decide whether to implement this now, or add these fields later when we work on a separate PR to implement EU GPSR compliance.

I put this comment on the contact table, rather than publisher, because according to Editeur, in the case of EU GPSR, "If the ‘manufacturer’ is not based in the European Union, the details of a
responsible entity within the EU 5 – the importer, in-EU distributor or other authorized
representative of the publisher – must be provided and displayed instead"

So a publisher might (confusingly) have multiple physical addresses, which makes a case to have them be part of contact, rather than publisher.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we going to consider having an end of support date for the Thoth ONIX 3.0 output? It seems like in the long run, it's going to be a lot of work to maintain both this and the ONIX 3.1 outputs, and they're so similar.

@ja573 ja573 changed the base branch from develop to launch/v1.0.0 November 20, 2025 13:46
@ja573 ja573 merged commit 8d43c09 into launch/v1.0.0 Dec 12, 2025
12 checks passed
@ja573 ja573 deleted the feature/701_accessibility_fields branch December 12, 2025 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ONIX 3 outputs: implement EDItEUR recommendations to improve 3.0 and 3.1 outputs

3 participants