Showing the Focus Ring around Read-Only Annotations
PSPDFKit for Web only shows a selection outline around annotations that are editable and can be moved/resized. If an annotation is made read-only using isEditableAnnotation
or editableAnnotationTypes
, this outline won’t be shown. If you still want to show a focus ring when the user clicks a read-only annotation, you can work around this by using custom renderers to create a clickable area on top of the annotation and setting focus in the click handler:
const instance = await PSPDFKit.load({ customRenderers: { Annotation({ annotation }) { const node = document.createElement("div"); node.dataset.annotationId = annotation.id; node.style.cssText = ` width: 100%; height: 100%; pointer-events: all; `; return { node, append: true }; } } }); instance.contentDocument.addEventListener("click", (event) => { if (event.target.dataset.annotationId != null) { const annotationId = event.target.dataset.annotationId; const annotation = instance.contentDocument.querySelector( `.PSPDFKit-Annotation[data-annotation-id="${annotationId}"]` ); annotation.setAttribute("data-focusvisible-polyfill", true); annotation.focus(); } });
You can find out more information about custom renderers in the annotation customization guide.