From 3bdc5d54fe6b008f7e312b09014d605a9f4634a4 Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Wed, 18 Jun 2025 21:05:53 +0200 Subject: [PATCH] Get the text under highlight/squiggly/underline/strikethrough annotations (bug 1885505) and add an invisible element containing the text in the annotation layer to make it readable by a screen reader. --- src/core/annotation.js | 20 +++ src/core/document.js | 25 ++++ src/core/evaluator.js | 32 ++++- src/core/intersector.js | 203 +++++++++++++++++++++++++++ src/display/annotation_layer.js | 52 ++++++- test/integration/annotation_spec.mjs | 73 ++++++++++ test/pdfs/.gitignore | 1 + test/pdfs/bug1885505.pdf | Bin 0 -> 109851 bytes test/unit/api_spec.js | 43 ++++++ web/annotation_layer_builder.css | 10 ++ 10 files changed, 449 insertions(+), 10 deletions(-) create mode 100644 src/core/intersector.js create mode 100755 test/pdfs/bug1885505.pdf diff --git a/src/core/annotation.js b/src/core/annotation.js index f5fe324d8..f5fba7225 100644 --- a/src/core/annotation.js +++ b/src/core/annotation.js @@ -1247,6 +1247,10 @@ class Annotation { return null; } + get overlaysTextContent() { + return false; + } + get hasTextContent() { return false; } @@ -4711,6 +4715,10 @@ class HighlightAnnotation extends MarkupAnnotation { } } + get overlaysTextContent() { + return true; + } + static createNewDict(annotation, xref, { apRef, ap }) { const { color, oldAnnotation, opacity, rect, rotation, user, quadPoints } = annotation; @@ -4835,6 +4843,10 @@ class UnderlineAnnotation extends MarkupAnnotation { this.data.popupRef = null; } } + + get overlaysTextContent() { + return true; + } } class SquigglyAnnotation extends MarkupAnnotation { @@ -4879,6 +4891,10 @@ class SquigglyAnnotation extends MarkupAnnotation { this.data.popupRef = null; } } + + get overlaysTextContent() { + return true; + } } class StrikeOutAnnotation extends MarkupAnnotation { @@ -4918,6 +4934,10 @@ class StrikeOutAnnotation extends MarkupAnnotation { this.data.popupRef = null; } } + + get overlaysTextContent() { + return true; + } } class StampAnnotation extends MarkupAnnotation { diff --git a/src/core/document.js b/src/core/document.js index 46c20bdf5..b26acd3dd 100644 --- a/src/core/document.js +++ b/src/core/document.js @@ -66,6 +66,7 @@ import { calculateMD5 } from "./calculate_md5.js"; import { Catalog } from "./catalog.js"; import { clearGlobalCaches } from "./cleanup_helper.js"; import { DatasetReader } from "./dataset_reader.js"; +import { Intersector } from "./intersector.js"; import { Linearization } from "./parser.js"; import { NullStream } from "./stream.js"; import { ObjectLoader } from "./object_loader.js"; @@ -632,6 +633,7 @@ class Page { includeMarkedContent, disableNormalization, sink, + intersector = null, }) { const contentStreamPromise = this.getContentStream(); const resourcesPromise = this.loadResources(RESOURCES_KEYS_TEXT_CONTENT); @@ -658,6 +660,7 @@ class Page { sink, viewBox: this.view, lang, + intersector, }); } @@ -707,6 +710,8 @@ class Page { intentDisplay = !!(intent & RenderingIntentFlag.DISPLAY), intentPrint = !!(intent & RenderingIntentFlag.PRINT); + const highlightedAnnotations = []; + for (const annotation of annotations) { // Get the annotation even if it's hidden because // JS can change its display. @@ -732,9 +737,29 @@ class Page { ); }) ); + } else if (annotation.overlaysTextContent && isVisible) { + highlightedAnnotations.push(annotation); } } + if (highlightedAnnotations.length > 0) { + const intersector = new Intersector(highlightedAnnotations); + textContentPromises.push( + this.extractTextContent({ + handler, + task, + includeMarkedContent: false, + disableNormalization: false, + sink: null, + viewBox: this.view, + lang: null, + intersector, + }).then(() => { + intersector.setText(); + }) + ); + } + await Promise.all(textContentPromises); return annotationsData; } diff --git a/src/core/evaluator.js b/src/core/evaluator.js index edf02c2c0..069c2d38b 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -2362,6 +2362,7 @@ class PartialEvaluator { disableNormalization = false, keepWhiteSpace = false, prevRefs = null, + intersector = null, }) { const objId = stream.dict?.objId; const seenRefs = new RefSet(prevRefs); @@ -2506,6 +2507,7 @@ class PartialEvaluator { transform = textContentItem.prevTransform, fontName = textContentItem.fontName, }) { + intersector?.addExtraChar(" "); textContent.items.push({ str: " ", dir: "ltr", @@ -2964,9 +2966,21 @@ class PartialEvaluator { if (!font.vertical) { scaledDim *= textState.textHScale; + intersector?.addGlyph( + getCurrentTextTransform(), + scaledDim, + 0, + glyph.unicode + ); textState.translateTextMatrix(scaledDim, 0); textChunk.width += scaledDim; } else { + intersector?.addGlyph( + getCurrentTextTransform(), + 0, + scaledDim, + glyph.unicode + ); textState.translateTextMatrix(0, scaledDim); scaledDim = Math.abs(scaledDim); textChunk.height += scaledDim; @@ -2985,8 +2999,12 @@ class PartialEvaluator { // alignment issues between the textLayer and the canvas if the text // contains e.g. tabs (fixes issue6612.pdf). textChunk.str.push(" "); + intersector?.addExtraChar(" "); + } + + if (!intersector) { + textChunk.str.push(glyphUnicode); } - textChunk.str.push(glyphUnicode); if (charSpacing) { if (!font.vertical) { @@ -3002,6 +3020,7 @@ class PartialEvaluator { } function appendEOL() { + intersector?.addExtraChar("\n"); resetLastChars(); if (textContentItem.initialized) { textContentItem.hasEOL = true; @@ -3027,6 +3046,7 @@ class PartialEvaluator { if (textContentItem.initialized) { resetLastChars(); textContentItem.str.push(" "); + intersector?.addExtraChar(" "); } return false; } @@ -3078,7 +3098,7 @@ class PartialEvaluator { if (batch && length < TEXT_CHUNK_BATCH_SIZE) { return; } - sink.enqueue(textContent, length); + sink?.enqueue(textContent, length); textContent.items = []; textContent.styles = Object.create(null); } @@ -3088,7 +3108,7 @@ class PartialEvaluator { return new Promise(function promiseBody(resolve, reject) { const next = function (promise) { enqueueChunk(/* batch = */ true); - Promise.all([promise, sink.ready]).then(function () { + Promise.all([promise, sink?.ready]).then(function () { try { promiseBody(resolve, reject); } catch (ex) { @@ -3341,7 +3361,7 @@ class PartialEvaluator { }, get desiredSize() { - return sink.desiredSize; + return sink.desiredSize ?? 0; }, get ready() { @@ -3359,7 +3379,7 @@ class PartialEvaluator { : resources, stateManager: xObjStateManager, includeMarkedContent, - sink: sinkWrapper, + sink: sink && sinkWrapper, seenStyles, viewBox, lang, @@ -3499,7 +3519,7 @@ class PartialEvaluator { } break; } // switch - if (textContent.items.length >= sink.desiredSize) { + if (textContent.items.length >= (sink?.desiredSize ?? 1)) { // Wait for ready, if we reach highWaterMark. stop = true; break; diff --git a/src/core/intersector.js b/src/core/intersector.js new file mode 100644 index 000000000..e50f86b25 --- /dev/null +++ b/src/core/intersector.js @@ -0,0 +1,203 @@ +/* Copyright 2025 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +class SingleIntersector { + #annotation; + + #minX = Infinity; + + #minY = Infinity; + + #maxX = -Infinity; + + #maxY = -Infinity; + + #quadPoints; + + #text = []; + + #extraChars = []; + + #lastIntersectingQuadIndex = -1; + + #canTakeExtraChars = false; + + constructor(annotation) { + this.#annotation = annotation; + const quadPoints = (this.#quadPoints = annotation.data.quadPoints); + + for (let i = 0, ii = quadPoints.length; i < ii; i += 8) { + this.#minX = Math.min(this.#minX, quadPoints[i]); + this.#maxX = Math.max(this.#maxX, quadPoints[i + 2]); + this.#minY = Math.min(this.#minY, quadPoints[i + 5]); + this.#maxY = Math.max(this.#maxY, quadPoints[i + 1]); + } + } + + overlaps(other) { + return !( + this.#minX >= other.#maxX || + this.#maxX <= other.#minX || + this.#minY >= other.#maxY || + this.#maxY <= other.#minY + ); + } + + /** + * Check if the given point intersects with the annotation's quad points. + * The point (x, y) is supposed to be the center of the glyph. + * @param {number} x + * @param {number} y + * @returns {boolean} + */ + #intersects(x, y) { + if ( + this.#minX >= x || + this.#maxX <= x || + this.#minY >= y || + this.#maxY <= y + ) { + return false; + } + + const quadPoints = this.#quadPoints; + if (quadPoints.length === 8) { + // We've only one quad, so if we intersect min/max bounds then we + // intersect the quad. + return true; + } + + if (this.#lastIntersectingQuadIndex >= 0) { + const i = this.#lastIntersectingQuadIndex; + if ( + !( + quadPoints[i] >= x || + quadPoints[i + 2] <= x || + quadPoints[i + 5] >= y || + quadPoints[i + 1] <= y + ) + ) { + return true; + } + this.#lastIntersectingQuadIndex = -1; + } + + for (let i = 0, ii = quadPoints.length; i < ii; i += 8) { + if ( + !( + quadPoints[i] >= x || + quadPoints[i + 2] <= x || + quadPoints[i + 5] >= y || + quadPoints[i + 1] <= y + ) + ) { + this.#lastIntersectingQuadIndex = i; + return true; + } + } + return false; + } + + addGlyph(x, y, glyph) { + if (!this.#intersects(x, y)) { + this.disableExtraChars(); + return false; + } + + if (this.#extraChars.length > 0) { + this.#text.push(this.#extraChars.join("")); + this.#extraChars.length = 0; + } + this.#text.push(glyph); + this.#canTakeExtraChars = true; + + return true; + } + + addExtraChar(char) { + if (this.#canTakeExtraChars) { + this.#extraChars.push(char); + } + } + + disableExtraChars() { + if (!this.#canTakeExtraChars) { + return; + } + this.#canTakeExtraChars = false; + this.#extraChars.length = 0; + } + + setText() { + this.#annotation.data.overlaidText = this.#text.join(""); + } +} + +class Intersector { + #intersectors = new Map(); + + constructor(annotations) { + for (const annotation of annotations) { + if (!annotation.data.quadPoints) { + continue; + } + const intersector = new SingleIntersector(annotation); + for (const [otherIntersector, overlapping] of this.#intersectors) { + if (otherIntersector.overlaps(intersector)) { + if (!overlapping) { + this.#intersectors.set(otherIntersector, new Set([intersector])); + } else { + overlapping.add(intersector); + } + } + } + this.#intersectors.set(intersector, null); + } + } + + addGlyph(transform, width, height, glyph) { + const x = transform[4] + width / 2; + const y = transform[5] + height / 2; + let overlappingIntersectors; + for (const [intersector, overlapping] of this.#intersectors) { + if (overlappingIntersectors) { + if (overlappingIntersectors.has(intersector)) { + intersector.addGlyph(x, y, glyph); + } else { + intersector.disableExtraChars(); + } + continue; + } + if (!intersector.addGlyph(x, y, glyph)) { + continue; + } + overlappingIntersectors = overlapping; + } + } + + addExtraChar(char) { + for (const intersector of this.#intersectors.keys()) { + intersector.addExtraChar(char); + } + } + + setText() { + for (const intersector of this.#intersectors.keys()) { + intersector.setText(); + } + } +} + +export { Intersector }; diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 38cf43dea..ff0d638e5 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -555,6 +555,7 @@ class AnnotationElement { svg.classList.add("quadrilateralsContainer"); svg.setAttribute("width", 0); svg.setAttribute("height", 0); + svg.role = "none"; const defs = svgFactory.createElement("defs"); svg.append(defs); const clipPath = svgFactory.createElement("clipPath"); @@ -2912,13 +2913,23 @@ class HighlightAnnotationElement extends AnnotationElement { } render() { - if (!this.data.popupRef && this.hasPopupData) { + const { + data: { overlaidText, popupRef }, + } = this; + if (!popupRef && this.hasPopupData) { this._createPopup(); } this.container.classList.add("highlightAnnotation"); this._editOnDoubleClick(); + if (overlaidText) { + const mark = document.createElement("mark"); + mark.classList.add("overlaidText"); + mark.textContent = overlaidText; + this.container.append(mark); + } + return this.container; } } @@ -2933,11 +2944,22 @@ class UnderlineAnnotationElement extends AnnotationElement { } render() { - if (!this.data.popupRef && this.hasPopupData) { + const { + data: { overlaidText, popupRef }, + } = this; + if (!popupRef && this.hasPopupData) { this._createPopup(); } this.container.classList.add("underlineAnnotation"); + + if (overlaidText) { + const underline = document.createElement("u"); + underline.classList.add("overlaidText"); + underline.textContent = overlaidText; + this.container.append(underline); + } + return this.container; } } @@ -2952,11 +2974,22 @@ class SquigglyAnnotationElement extends AnnotationElement { } render() { - if (!this.data.popupRef && this.hasPopupData) { + const { + data: { overlaidText, popupRef }, + } = this; + if (!popupRef && this.hasPopupData) { this._createPopup(); } this.container.classList.add("squigglyAnnotation"); + + if (overlaidText) { + const underline = document.createElement("u"); + underline.classList.add("overlaidText"); + underline.textContent = overlaidText; + this.container.append(underline); + } + return this.container; } } @@ -2971,11 +3004,22 @@ class StrikeOutAnnotationElement extends AnnotationElement { } render() { - if (!this.data.popupRef && this.hasPopupData) { + const { + data: { overlaidText, popupRef }, + } = this; + if (!popupRef && this.hasPopupData) { this._createPopup(); } this.container.classList.add("strikeoutAnnotation"); + + if (overlaidText) { + const strikeout = document.createElement("s"); + strikeout.classList.add("overlaidText"); + strikeout.textContent = overlaidText; + this.container.append(strikeout); + } + return this.container; } } diff --git a/test/integration/annotation_spec.mjs b/test/integration/annotation_spec.mjs index 7db5284d2..e1c68c09b 100644 --- a/test/integration/annotation_spec.mjs +++ b/test/integration/annotation_spec.mjs @@ -696,4 +696,77 @@ describe("ResetForm action", () => { }); }); }); + + describe("Text under some annotations", () => { + describe("bug1885505.pdf", () => { + let pages; + + beforeEach(async () => { + pages = await loadAndWait( + "bug1885505.pdf", + ":is(" + + [56, 58, 60, 65] + .map(id => `[data-annotation-id='${id}R']`) + .join(", ") + + ")" + ); + }); + + afterEach(async () => { + await closePages(pages); + }); + + it("must check that the text under a highlight annotation exist in the DOM", async () => { + await Promise.all( + pages.map(async ([browserName, page]) => { + const text = await page.$eval( + "[data-annotation-id='56R'] mark", + el => el.textContent + ); + expect(text).withContext(`In ${browserName}`).toEqual("Languages"); + }) + ); + }); + + it("must check that the text under an underline annotation exist in the DOM", async () => { + await Promise.all( + pages.map(async ([browserName, page]) => { + const text = await page.$eval( + "[data-annotation-id='58R'] u", + el => el.textContent + ); + expect(text).withContext(`In ${browserName}`).toEqual("machine"); + }) + ); + }); + + it("must check that the text under a squiggly annotation exist in the DOM", async () => { + await Promise.all( + pages.map(async ([browserName, page]) => { + const text = await page.$eval( + "[data-annotation-id='60R'] u", + el => el.textContent + ); + expect(text).withContext(`In ${browserName}`) + .toEqual(`paths through nested loops. We have implemented +a dynamic compiler for JavaScript based on our`); + }) + ); + }); + + it("must check that the text under a strikeout annotation exist in the DOM", async () => { + await Promise.all( + pages.map(async ([browserName, page]) => { + const text = await page.$eval( + "[data-annotation-id='65R'] s", + el => el.textContent + ); + expect(text) + .withContext(`In ${browserName}`) + .toEqual("Experimentation,"); + }) + ); + }); + }); + }); }); diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index cac180c7f..761ca05ae 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -727,3 +727,4 @@ !bug1963407.pdf !issue19517.pdf !empty#hash.pdf +!bug1885505.pdf diff --git a/test/pdfs/bug1885505.pdf b/test/pdfs/bug1885505.pdf new file mode 100755 index 0000000000000000000000000000000000000000..69ec68aa5aa2bb03512b9fb15af9df3be1b98946 GIT binary patch literal 109851 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 Ke&vRI7V6(@;WjJ) literal 0 HcmV?d00001 diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js index 6610de8a7..f806c1048 100644 --- a/test/unit/api_spec.js +++ b/test/unit/api_spec.js @@ -5127,4 +5127,47 @@ Caron Broadcasting, Inc., an Ohio corporation (“Lessee”).`) } ); }); + + describe("Annotations", function () { + it("should extract the text under some annotations", async function () { + const loadingTask = getDocument(buildGetDocumentParams("bug1885505.pdf")); + const pdfDoc = await loadingTask.promise; + + const page1 = await pdfDoc.getPage(1); + const annots = await page1.getAnnotations(); + let annot = annots.find(x => x.id === "56R"); + expect(annot.overlaidText).toEqual("Languages"); + + annot = annots.find(x => x.id === "52R"); + expect(annot.overlaidText) + .toEqual(`Dynamic languages such as JavaScript are more difficult to com- +pile than statically typed ones. Since no concrete type information +is available, traditional compilers`); + + annot = annots.find(x => x.id === "54R"); + expect(annot.overlaidText) + .toEqual(`typed ones. Since no concrete type information +is available, traditional compilers need to emit generic code that can +handle all possible type combinations at runtime. We present an al- +ternative compilation technique for dynamically-`); + + annot = annots.find(x => x.id === "58R"); + expect(annot.overlaidText).toEqual("machine"); + + annot = annots.find(x => x.id === "60R"); + expect(annot.overlaidText) + .toEqual(`paths through nested loops. We have implemented +a dynamic compiler for JavaScript based on our`); + + annot = annots.find(x => x.id === "65R"); + expect(annot.overlaidText).toEqual("Experimentation,"); + + annot = annots.find(x => x.id === "63R"); + expect(annot.overlaidText) + .toEqual(`languages such as JavaScript, Python, and Ruby, are pop- +ular since they are expressive, accessible to non-experts, and make +deployment as easy as distributing a source file. They are used for +small scripts as well as for`); + }); + }); }); diff --git a/web/annotation_layer_builder.css b/web/annotation_layer_builder.css index f2dbc375e..cfee955e8 100644 --- a/web/annotation_layer_builder.css +++ b/web/annotation_layer_builder.css @@ -126,6 +126,16 @@ display: none; } } + + .overlaidText { + position: absolute; + top: 0; + left: 0; + width: 0; + height: 0; + display: inline-block; + overflow: hidden; + } } .textLayer.selecting ~ & section {