@@ -203,6 +203,7 @@ class AnnotoriousAnnotator extends HTMLElement {
203203 display: block;
204204 text-align: center;
205205 text-decoration: none;
206+ font: inherit;
206207 border: none;
207208 box-sizing: border-box;
208209 }
@@ -317,6 +318,8 @@ class AnnotoriousAnnotator extends HTMLElement {
317318 transition: background-color 0.3s;
318319 z-index: 9;
319320 border: none;
321+ text-decoration: none;
322+ font: inherit;
320323 }
321324 #projectManagementBtn:hover,
322325 #projectManagementBtn:focus-visible {
@@ -364,12 +367,12 @@ class AnnotoriousAnnotator extends HTMLElement {
364367 <input type="checkbox" id="seeTool" checked>
365368 </label>
366369 <button id="deleteAllBtn" type="button">Delete All Annotations</button>
367- <button id="createColumnsBtn" type="button" >Manage Columns</button >
370+ <a id="createColumnsBtn">Manage Columns</a >
368371 <button id="saveBtn" type="button">Save Annotations</button>
369372 </div>
370373 <button type="button" id="autoParseBtn">Auto Parse</button>
371374 <tpen-page-selector></tpen-page-selector>
372- <button type="button" id="projectManagementBtn"><span aria-hidden="true">↪</span> Go to Project Management</button >
375+ <a id="projectManagementBtn"><span aria-hidden="true">↪</span> Go to Project Management</a >
373376 <div id="annotator-container"> Loading Annotorious and getting the TPEN3 Page information... </div>
374377 <div id="ruler"></div>
375378 <span id="sampleRuler"></span>
@@ -453,9 +456,7 @@ class AnnotoriousAnnotator extends HTMLElement {
453456 this . renderCleanup . onElement ( editTool , "change" , ( e ) => this . toggleEditingMode ( e ) )
454457 this . renderCleanup . onElement ( eraseTool , "change" , ( e ) => this . toggleErasingMode ( e ) )
455458 this . renderCleanup . onElement ( seeTool , "change" , ( e ) => this . toggleAnnotationVisibility ( e ) )
456- this . renderCleanup . onElement ( createColumnsBtn , "click" , ( ) =>
457- window . location . href = `/manage-columns?projectID=${ TPEN . activeProject . _id } &pageID=${ this . #annotationPageID} `
458- )
459+ createColumnsBtn . href = `/manage-columns?projectID=${ TPEN . activeProject . _id } &pageID=${ this . #annotationPageID} `
459460 this . renderCleanup . onElement ( saveButton , "click" , ( e ) => {
460461 this . #annotoriousInstance. cancelSelected ( )
461462 // Timeout required in order to allow the unfocus native functionality to complete for $isDirty.
@@ -702,6 +703,9 @@ class AnnotoriousAnnotator extends HTMLElement {
702703 } )
703704
704705 // Link to transcribe if they have view permissions for it
706+ // NOTE: This uses OpenSeadragon.Button which creates <div> elements, not standard HTML links.
707+ // The OSD Button API does not support <a> elements, so this is an intentional exception
708+ // to the consistent navigation pattern (issue #465).
705709 if ( CheckPermissions . checkViewAccess ( "LINE" , "TEXT" ) || CheckPermissions . checkEditAccess ( "LINE" , "TEXT" ) ) {
706710 let parsingRedirectButton = new OpenSeadragon . Button ( {
707711 tooltip : "Go Transcribe" ,
@@ -892,7 +896,7 @@ class AnnotoriousAnnotator extends HTMLElement {
892896 if ( CheckPermissions . checkEditAccess ( "PROJECT" ) ) {
893897 const manageProjectBtn = this . shadowRoot . querySelector ( "#projectManagementBtn" )
894898 manageProjectBtn . style . display = "block"
895- this . renderCleanup . onElement ( manageProjectBtn , "click" , ( e ) => document . location . href = `/project/manage?projectID=${ TPEN . activeProject . _id } ` )
899+ manageProjectBtn . href = `/project/manage?projectID=${ TPEN . activeProject . _id } `
896900 }
897901 }
898902
0 commit comments