I created a pdf for https://github.com/mozilla/pdf.js/pull/14023:
[same_fields(1).pdf](https://github.com/mozilla/pdf.js/files/7168340/same_fields.1.pdf)
The 3 checkboxes have the same name (`Check Box2`) and have the same values (`Off` and `Yes`).
In pdf.js, these checkboxes behave like radio buttons in the same group (which is wrong) because of:
https://github.com/mozilla/pdf.js/commit/1fcffe80349a98378262c8a16f7b50ff34c3fe82
Since they've the same values they must be synced: if one is checked (resp. unchecked) then all others are checked (resp. unchecked).
unreachable,
  Util,
  warn,
} from "../shared/util.js";
import { AnnotationStorage } from "./annotation_storage.js";
import { ColorConverters } from "../shared/scripting_utils.js";
const DEFAULT_TAB_INDEX = 1000;
/**
 * @typedef {Object} AnnotationElementParameters
 * @property {Object} data
 * @property {HTMLDivElement} layer
 * @property {PDFPage} page
 * @property {PageViewport} viewport
 * @property {IPDFLinkService} linkService
 * @property {DownloadManager} downloadManager
 * @property {AnnotationStorage} [annotationStorage]
 * @property {string} [imageResourcesPath] - Path for image resources, mainly
 *   for annotation icons. Include trailing slash.
 * @property {boolean} renderForms
 * @property {Object} svgFactory
 * @property {boolean} [enableScripting]
 * @property {boolean} [hasJSActions]
 * @property {Object} [mouseState]
 */
class AnnotationElementFactory {
  /**
   * @param {AnnotationElementParameters} parameters
   * @returns {AnnotationElement}
   */
  static create(parameters) {