1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

[Editor] Use the alt text to descibe the canvas used to display the image

This commit is contained in:
Calixte Denizet 2023-10-02 20:30:27 +02:00
parent 59d94b549f
commit e3fbe2908a
3 changed files with 59 additions and 3 deletions

View file

@ -927,6 +927,9 @@ class AnnotationEditor {
if (!tooltip.parentNode) {
button.append(tooltip);
}
const element = this.getImageForAltText();
element?.setAttribute("aria-describedby", tooltip.id);
}
#toggleAltTextButton(enabled = false) {
@ -960,6 +963,9 @@ class AnnotationEditor {
};
}
/**
* Set the alt text data.
*/
set altTextData({ altText, decorative }) {
if (this.#altText === altText && this.#altTextDecorative === decorative) {
return;
@ -1369,6 +1375,13 @@ class AnnotationEditor {
*/
enterInEditMode() {}
/**
* @returns {HTMLElement | null} the element requiring an alt text.
*/
getImageForAltText() {
return null;
}
/**
* Get the div which really contains the displayed content.
* @returns {HTMLDivElement | undefined}

View file

@ -32,6 +32,8 @@ class StampEditor extends AnnotationEditor {
#bitmapFile = null;
#bitmapFileName = "";
#canvas = null;
#observer = null;
@ -104,6 +106,9 @@ class StampEditor extends AnnotationEditor {
this.#bitmapId = data.id;
this.#isSvg = data.isSvg;
}
if (data.file) {
this.#bitmapFileName = data.file.name;
}
this.#createCanvas();
}
@ -332,6 +337,9 @@ class StampEditor extends AnnotationEditor {
},
});
this.addAltTextButton();
if (this.#bitmapFileName) {
canvas.setAttribute("aria-label", this.#bitmapFileName);
}
}
/**
@ -438,6 +446,11 @@ class StampEditor extends AnnotationEditor {
);
}
/** @inheritdoc */
getImageForAltText() {
return this.#canvas;
}
#serializeBitmap(toUrl) {
if (toUrl) {
if (this.#isSvg) {