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).
const borderWidth = data.borderStyle.width;
    const square = this.svgFactory.createElement("svg:rect");
    square.setAttribute("x", borderWidth / 2);
    square.setAttribute("y", borderWidth / 2);
    square.setAttribute("width", width - borderWidth);
    square.setAttribute("height", height - borderWidth);
    
    
    square.setAttribute("stroke-width", borderWidth || 1);
    square.setAttribute("stroke", "transparent");
    square.setAttribute("fill", "none");
    svg.appendChild(square);
    this.container.append(svg);
    
    
    this._createPopup(square, data);
    return this.container;
  }
}
class CircleAnnotationElement extends AnnotationElement {
  constructor(parameters) {
    const isRenderable = !!(
      parameters.data.hasPopup ||
      parameters.data.title ||
      parameters.data.contents
    );
    super(parameters, { isRenderable, ignoreBorder: true });
  }
  render() {
    this.container.className = "circleAnnotation";