Based on the work in #5574 , which exposes a limited set of EXIF, and the recent announcement by Google (https://iptc.org/news/googles-licensable-images-feature-is-live/), where they are now supporting IPTC (via XMP) metadata as part of image information, it would seem like a standardized mechanism to expose the metadata of referenced assets (images, videos, audio, PDFs, etc.) would be worthwhile.
There is a long history of this issue at the W3C, some of which can be seen on their Metadata page (https://www.w3.org/html/wg/wiki/Metadata) and ImageDescription page (https://www.w3.org/wiki/ImageDescription). There was also a working group that even defined the JavaScript API for it - but I can't find any trace of it offhand (maybe someone else has the reference)
Are there currently supported image codecs that require XMP as a transport for presentation data (resolution/orientation)?
@noamr XMP is the standard (ISO 16684) that numerous media formats (JPEG, PNG, MP4, AV1, PDF, etc) use to store their metadata. That metadata might be used for presentation information (eg. resolution/orientation), it might be used for attribution (eg. Google and the Content Authenticity Initiative), it might be used for position (eg. GPS) or any other purpose that the author/contributor wishes to store.
XMP represents a single location, serialization and storage model for the myriad of other standards - EXIF, IPTC, Dublin Core, etc. So that rather than developers having to look in multiple places & formats - they need only look in one. That is why OS-native search engines, and some web ones, extract and index that information.
I will note that currently the serialization inside those assets is XML-RDF-based, but given that it's been around for 15+ years, that's not unexpected. The standards committee (ISO TC 171 SC 2 WG 12) has completed work on a JSON-LD serialization of XMP which can be losslessly round-tripped from the XML-RDF (https://www.iso.org/standard/79384.html).
Thanks, I meant to ask whether there are formats that use XMP and don't support binary EXIF - as XMP requires a lot more characters (the JSON version sounds interesting though)
Yes, EXIF is really only present in images produced from camera/scan devices, which is why it's there in JPEG. However, you won't (normally) see it in PNG (it wasn't added to the standard till 2017, http://ftp-osl.osuosl.org/pub/libpng/documents/pngext-1.5.0.html#C.eXIf), and its not part of newer image formats like AV1. You certainly won't see it in video, audio or documents.
@lrosenthol:
There was also a working group that even defined the JavaScript API for it - but I can't find any trace of it offhand (maybe someone else has the reference)
@eeeps thats the one! Thanks
The proposal at https://github.com/w3c/html-aam/issues/309 also expresses an accessibility use case for exposing the XMP - to enable UA access to pre-defined AltText for images and other media.