Since screen readers typically ignore <i> and <b> tags. Instead we should use <em> and <strong> tags which look the same visually but are more meaningful from an accessibility standpoint.
Hi Lucas, You are listed as the assignee but the bug status is not Assigned. Do you need someone else to take this or did you just forget to change the status?
Thanks Hayley, I'll take it, I forgot to change the status.
Changed to Importance: P1 - high / Critical as all 100+ library sites in Sweden are required to comply with something called Webbtillgänglighetsdirektivet (Web Accessibility Directive) by 23rd September 2020.
Lowering to major, sorry Timothy but that does not sound critical to me. Any news on this Lucas?
I will have a patch very soon.
Created attachment 105405 [details] [review] Bug 22672: Change <i> to <em> and <b> to <em> in templates, includes, xslt This patch attempts to replace <i> with <em> AND <b> with <strong> in order to more accessible to screen readers. This patch makes no attempt to change Font Awesome icons which typically use <i>. I found templates, includes and XSLT by using 'git grep ‘<b>’ koha-tmpl/opac-tmpl/bootstrap/en/' and git grep ‘<i>’ koha-tmpl/opac-tmpl/bootstrap/en/ TEST PLAN: There should be no visible difference on the changed pages. The files changed are: koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-note.inc koha-tmpl/opac-tmpl/bootstrap/en/modules/clubs/enroll.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-authoritiessearchresultlist.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-browser.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-downloadshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-overdrive-search.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-privacy.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results-grouped.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shareshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/NORMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl Read the changes and make sure everything looks correct, try to visit as many pages as possible and confirm that everything looks as it should. grep around for cases of <b> or <i> that I could have missed.
> I found templates, includes and XSLT by using 'git grep ‘<b>’ koha-tmpl/opac-tmpl/bootstrap/en/' and git grep ‘<i>’ koha-tmpl/opac-tmpl/bootstrap/en/ Case not caugh by the grep: koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt 298: [% IF ( ISSUE.onsite_checkout ) %] <i class="onsite_checkout">(On-site checkout)</i>[% END %]
I am not sure what the best way to check would be, but can we rule out that these tags are used as selectors in Javascript/jQuery and or CSS?
> grep around for cases of <b> or <i> that I could have missed. This is where I feel into the rabbit hole! ^^" note: pastebin version to avoid having long lines broken by Bugzilla, in case that helps: https://bin.disroot.org/?c148aeed3ad26071#3AxBKrC2pa2nxrgweSqvJNkE37ETqv6j3uqSYLpYAyGr == 1. By grepping with the following == rg "\bi>|\bb>|<i\b|<b\b" --glob '!{*.sql,*.js,*.po}' === Here is some suspicious stuff === But I'm not really sure how these HTML are used. installer/data/mysql/en/mandatory/sample_notices.yml 506: - "<h5 style=\"margin-bottom: 1px; margin-top: 1px\"><b><<opac_news.title>></b></h5>" 1071: - " <li><b>Library:</b> <<branches.branchname>></li>" 1072: - " <li><b>Title:</b> <<suggestions.title>></li>" 1073: - " <li><b>Author:</b> <<suggestions.author>></li>" 1074: - " <li><b>Copyright date:</b> <<suggestions.copyrightdate>></li>" 1075: - " <li><b>Standard number (ISBN, ISSN or other):</b> <<suggestions.isbn>></li>" 1076: - " <li><b>Publisher:</b> <<suggestions.publishercode>></li>" 1077: - " <li><b>Collection title:</b> <<suggestions.collectiontitle>></li>" 1078: - " <li><b>Publication place:</b> <<suggestions.place>></li>" 1079: - " <li><b>Quantity:</b> <<suggestions.quantity>></li>" 1080: - " <li><b>Item type:</b> <<suggestions.itemtype>></li>" 1081: - " <li><b>Reason for suggestion:</b> <<suggestions.patronreason>></li>" 1082: - " <li><b>Notes:</b> <<suggestions.note>></li>" installer/data/mysql/fr-FR/2-Optionel/patron_categories.txt 2:<b>Adultes</b> 5:<b>Enfants</b> 8:<b>Organisation</b> 13:<b>Professionnel</b> Hum, where could be the other part? ^^" t/db_dependent/Koha/XSLT/Base.t 86:warning_like { $output = $engine->transform({ xml => '<a></b>', code => $xsl_1 }) } 98:warning_like { $output = $engine->transform({ xml => '<a></b>', code => $xsl_1 }) } 103:warning_like { $output = $secondengine->transform({ xml => '<a></b>', code => $xsl_1 }) } 109:warning_like { $output = $engine->transform({ xml => '<a></b>', code => $xsl_1 }) } === More suspicious stuff, I'm more certain about these cases. === koha-tmpl/opac-tmpl/xslt/OAI.xslt 146: <td><b>Repository Name</b></td> 151: <td><b>E-Mail Contact</b></td> 163: <td><b>Repository identifier</b></td> 169: <td><b>Sample identifier</b></td> 176: <td><b>Protocol Version</b></td> 184: <td><b>Earliest Registered Date</b></td> 192: <td><b>Date Granularity</b></td> 200: <td><b>Deletion Mode</b></td> koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt 27:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> › Course details for <i>[% course.course_name | html %]</i></div> 115: <i>Unchanged</i> 136: <i>Unchanged</i> 156: <i>Unchanged</i> 176: <i>Unchanged</i> 196: <i>Unchanged</i> koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/batch_add_items.tt 16:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> › Add reserves for <i><a href="/cgi-bin/koha/course_reserves/course-details.pl?course_id=[% course.course_id | html %]">[% course.course_name | html %]</a></i></div> 108: Any items with existing course reserves will have their <i>on reserve</i> values updated. koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/add_items-step2.tt 13:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> ›[% IF is_edit || course_reserve %] Edit [% ELSE %] Reserve [% END %]<i><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio.biblionumber | html %]">[% biblio.title | html %]</a></i> for <i><a href="/cgi-bin/koha/course_reserves/course-details.pl?course_id=[% course.course_id | html %]">[% course.course_name | html %]</a></i></div> 29: <legend>Edit <i>[% biblio.title | html %]</i> in <i>[% course.course_name | html %]</i></legend> 31: <legend>Add <i>[% biblio.title | html %]</i> to <i>[% course.course_name | html %]</i></legend> koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/add_items-step1.tt 10:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> › Add reserves for <i><a href="/cgi-bin/koha/course_reserves/course-details.pl?course_id=[% course.course_id | html %]">[% course.course_name | html %]</a></i></div> koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/linkitem.tt 8:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> › Link a host record to <i>[% bibliotitle | html %]</i></div> 25: <div class="dialog message">The item has successfully been linked to <i>[% bibliotitle | html %]</i>.</div> 45: <label for="barcode_fieldset">Select the host record to link[% IF ( bibliotitle ) %] to <i>[% bibliotitle | html %]</i>[% END %]</label> koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course.tt 20:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> › [% IF course_name %] Edit <i>[% course_name | html %]</i> [% ELSE %] New course [% END %]</div> Ho no, upper case <I> [U+1F631] koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/normarc_field_007.tt 1225: <td><label for="f6">06-08 Reduksjonsskala - Nøyaktig angivelse</label> <br /><I>(Skalaen oppgis med tre sifre, f.eks. 015, 048). En strek brukes for ukjente sifre (f.eks. 03-, 1--). Bruk ||| dersom info ikke er oppgitt.)</i></td> \ 2345: <td><label for="f17">17-22 Dato for siste inspeksjon av filmen</label><br /><I>(Registreres med 6 siffer i formen ååååmm. Hvis deler av datoen ikke er kjent, erstattes hvert ukjent siffer med en strek (-).)</i></td> \ koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_210c.tt 51: <b>Results [% from | html %] to [% to | html %] of [% total | html %]</b><br /><br /> koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt 97: [% IF ( resultsloo.timestamp ) %] <i>(modified on [% resultsloo.timestamp | html %])</i>[% END %] 151: [% IF ( error ) %]<div class="dialog alert">[% END %]<b>No results found</b> koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/moveitem.tt 9:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a> › Attach an item to <i>[% INCLUDE 'biblio-title.inc' %]</i></div> 69: <div class="dialog message">The item has successfully been attached to [% INCLUDE 'biblio-default-view.inc' %]<i>[% bibliotitle | html %]</i></a>. 97: <h3>Attach an item[% IF ( bibliotitle ) %] to <i>[% bibliotitle | html %]</i>[% END %]</h3> koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes.tt 29: <b>Note: </b>Both the 'source' and 'text' fields must have content in order for the quote to be saved.</li> koha-tmpl/intranet-tmpl/prog/en/modules/tools/marc_modification_templates.tt 83: <h2>Actions for <i>[% template_name | html %]</i></h2> 139: with value <i>[% ActionsLoo.field_value | html %]</i> koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt 48: <p><b> 54: </b></p> koha-tmpl/intranet-tmpl/prog/en/modules/tools/export.tt 48: <b>Note : The items are exported by this tool unless specified.</b> 233: <p><b>Note : This export file will be very large, and is generated nightly.</b></p> 259: <p><b>Note : This export file will be very large, and is generated nightly.</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tt 77: <b>To Date : </b> 147: <b>To date: </b> koha-tmpl/intranet-tmpl/prog/en/modules/tools/import_borrowers.tt 288: <li><b>Download a starter CSV file with all the columns <a href="?sample=1">here</a>.</b> Values are comma-separated.</li> 301: If loading patron attributes, the 'patron_attributes' field should contain a comma-separated list of attribute types and values. The attribute type code and a colon should precede each value. For example: <b>INSTID:12345,LANG:fr</b> or <b>STARTDATE:January 1 2010,TRACK:Day</b>. If an input record has more than one attribute, the fields should either be entered as an unquoted string (previous examples), or with each field wrapped in separate double quotes and delimited by a comma: <b>"STARTDATE:January 1, 2010","TRACK:Day"</b>. The second syntax would be required if the data might have a comma in it, like a date string. 306: <strong>Required fields:</strong> The fields 'surname', 'branchcode', and 'categorycode' are <em>required</em> and 'branchcode' and 'categorycode' <b>must match</b> valid entries in your database. 314: Date formats should match your system preference, and <b>must</b> be zero-padded, e.g. '01/02/2008'. Alternatively, koha-tmpl/intranet-tmpl/prog/en/modules/tools/upload-images.tt 30: [% IF ( error == 'UZIPFAIL' ) %]<p><b>Failed to unzip archive.<br />Please ensure you are uploading a valid zip file and try again.</b></p> 31: [% ELSIF ( error == 'OPNLINK' ) %]<p><b>Cannot open folder index (idlink.txt or datalink.txt) to read.<br />Please verify that it exists.</b></p> 32: [% ELSIF ( error == 'OPNIMG' ) %]<p><b>Cannot process file as an image.<br />Please ensure you only upload GIF, JPEG, PNG, or XPM images.</b></p> 33: [% ELSIF ( error == 'DELERR' ) %]<p><b>Unrecognized or missing field delimiter.<br />Please verify that you are using either a single quote or a tab.</b></p> 34: [% ELSIF ( error == 'DBERR' ) %]<p><b>Unable to save image to database.</b></p> 35: [% ELSE %]<p><b>An unknown error has occurred.<br />Please review the error log for more details.</b></p>[% END %] koha-tmpl/intranet-tmpl/prog/en/modules/tools/picture-upload.tt At lot of <b></b> koha-tmpl/intranet-tmpl/prog/en/modules/ill/log/status_change.tt 3:[% log.timestamp | $KohaDates with_hours => 1 %] : <b>Status changed</b> koha-tmpl/intranet-tmpl/prog/en/modules/rotating_collections/transferCollection.tt 13:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › <a href="/cgi-bin/koha/rotating_collections/rotatingCollections.pl">Rotating collections</a> › <a href="/cgi-bin/koha/rotating_collections/addItems.pl?colId=[% colId | html %]">Collection <i>[% colTitle | html %]</i></a> › Transfer collection</div> 20: <h1>Transfer collection <i>[% colTitle | html %]</i></h1> koha-tmpl/intranet-tmpl/prog/en/modules/rotating_collections/editCollections.tt 22: <a href="/cgi-bin/koha/rotating_collections/addItems.pl?colId=[% editColId | uri %]">Collection <i>[% editColTitle | html %]</i></a> › Edit 34: <p>Collection <i>[% createdTitle | html %]</i> added successfully</p> 39: <p>Collection <i>[% createdTitle | html %]</i> failed to be added</p> 69: <p>Collection <i>[% updatedTitle | html %]</i> updated successfully</p> 74: <p>Collection <i>[% updatedTitle | html %]</i> failed to be updated</p> 92: <h1>Edit collection <i>[% editColTitle | html %]</i></h1> koha-tmpl/intranet-tmpl/prog/en/modules/rotating_collections/addItems.tt 13:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › <a href="/cgi-bin/koha/rotating_collections/rotatingCollections.pl">Rotating collections</a> › <a href="/cgi-bin/koha/rotating_collections/addItems.pl?colId=[% colId | html %]">Collection <i>[% colTitle | html %]</i></a> › Add or remove items</div> 27: <h1>Collection <i>[% colTitle | html %]</i></h1> 34: <p>Failed to add item with barcode <i>[% barcode | html %]</i>: 52: <div class="dialog message">Item with barcode <i>[% barcode | html %]</i> removed successfully</div> 55: Failed to remove item with barcode <i>[% barcode | html %]</i>: 95: <h2>Items in <i>[% colTitle | html %]</i></h2> koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_field_007.tt 1125: '</i></td> \ 3923: '</i></td> \ 6456: '</i></td> \ koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt 18:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> › Checkout history for <i>[% INCLUDE 'biblio-title.inc' %]</i></div> 93: <b>[% biblio.title | html %][% IF biblio.author %], by [% biblio.author | html %][% END %]</b> has never been checked out.</p></div> koha-tmpl/intranet-tmpl/prog/en/modules/tools/letter.tt 124: <p>You searched for <b>[% searchfield | html %]</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/stockrotation.tt 15:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> › Stock rotation details for <i>[% INCLUDE 'biblio-title.inc' %]</i></div> koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tt 27: MARC details for <i>[% bibliotitle | html %]</i> 45: <p><b>With framework: 56: </b></p> koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt 18:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> › [% INCLUDE 'biblio-default-view.inc' %]<i>[% INCLUDE 'biblio-title.inc' %]</i></a> › Item details</div> koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/imageviewer.tt 30:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> › <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber | uri %]"><i>[% INCLUDE 'biblio-title.inc' %]</i></a> › Images</div> 39:<h3>Images for <i>[% INCLUDE 'biblio-title.inc' %]</i></h3> koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt 159: <p>The change to give is <b><span id="modal_change">[% 0 | $Price %]</span></b>.</p> koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/MARCdetail.tt 24: MARC details for <i>[% INCLUDE 'biblio-title.inc' %]</i> 43: <p><b>With framework : <select name="Frameworks" id="Frameworks"> 52: </select> </b></p> koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt 53: Details for <i>[% INCLUDE 'biblio-title.inc' %]</i> 731: [% IF ( suggestion.volumedesc ) %]; Volume:<i>[% suggestion.volumedesc | html %]</i> [% END %] 732: [% IF ( suggestion.isbn ) %]; ISBN:<i>[% suggestion.isbn | html %]</i> [% END %][% IF ( suggestion.publishercode ) %]; Published by [% suggestion.publishercode | html %] [% END %][% IF ( suggestion.publicationyear ) %] in <i>[% suggestion.publicationyear | html %]</i> [% END %][% IF ( suggestion.place ) %] in <i>[% suggestion.place | html %]</i> [% END %][% IF ( suggestion.collectiontitle ) %]; [% suggestion.collectiontitle | html %] [% END %][% IF ( suggestion.itemtype ) %]; [% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', suggestion.itemtype, 0 ) | html %] [% END %]<br />[% IF ( suggestion.note ) %]<div class="suggestion_note"><i class="fa fa-comment"></i> [% suggestion.note | html %]</div>[% END %] koha-tmpl/intranet-tmpl/prog/en/modules/clubs/clubs.tt 28: <p>Club template <i>[% club_template.name | html %]</i> was updated.</p> 30: <p>Club template <i>[% club_template.name | html %]</i> was saved.</p> 36: <p>Club <i>[% club.name | html %]</i> was updated.</p> 38: <p>Club <i>[% club.name | html %]</i> was saved.</p> koha-tmpl/intranet-tmpl/prog/en/modules/clubs/clubs-add-modify.tt 22: Modify club <i>[% club.name | html %]</i> 24: Create a new <i>[% club_template.name | html %]</i> club 40: Modify club <i>[% club.name | html %]</i> 42: Create a new <i>[% club_template.name | html %]</i> club koha-tmpl/intranet-tmpl/prog/en/modules/clubs/club-enrollments.tt 22: <h1>Club enrollments for <i>[% club.name | html %]</i></h1> koha-tmpl/intranet-tmpl/prog/en/modules/clubs/patron-enroll.tt 5: Enroll in <i>[% club.name | html %]</i> koha-tmpl/intranet-tmpl/prog/en/modules/clubs/templates-add-modify.tt 26: Modify club template <i>[% club_template.name | html %]</i> 41: Modify club template <i>[% club_template.name | html %]</i> koha-tmpl/intranet-tmpl/prog/en/modules/reviews/reviewswaiting.tt 66:[% IF ( status ) %]<p><b>No comments have been approved.</b></p>[% ELSE %]<p><b>No comments to moderate.</b></p>[% END %] koha-tmpl/intranet-tmpl/prog/en/modules/reviews/reviewswaiting.tt 161: href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid | html %]&serstatus=1,3,7"><i koha-tmpl/intranet-tmpl/prog/en/modules/serials/result.tt 46: <p>No results found for <b>[% query | html %]</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt 86:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Serial edition <i>[% bibliotitle | html %] [% IF ( callnumber ) %]([% callnumber | html %])[% END %]</i></div> 95:<h1>Serial edition <i>[% bibliotitle | html %]</i> koha-tmpl/intranet-tmpl/prog/en/modules/about.tt At lot of <b> koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing-preview-slip.tt 20: <td colspan="2"><b>Title:</b> [% title | html %]<br />[% issue | html %]</td> 23: <td><b>Name</b></td> 24: <td><b>Date due</b></td> koha-tmpl/intranet-tmpl/prog/en/modules/serials/viewalerts.tt 9:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Alert subscribers for <i>[% bibliotitle | html %]</i></div> 16:<h1>Alert subscribers for <i>[% bibliotitle | html %]</i></h1> koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt 95: <li><span class="label">Biblio:</span> <a href="/cgi-bin/koha/catalogue/[% default_bib_view | uri %].pl?biblionumber=[% bibnum | uri %]">[% bibliotitle | html %]</a> <i>([% bibnum | html %])</i></li> 268: <i>(is [% innerloop1 | html %])</i>[% END %]</td> 270: <i>(is [% innerloop2 | html %])</i>[% END %]</td> 272: <i>(is [% innerloop3 | html %])</i>[% END %]</td> koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-add.tt 29: › [% IF ( modify ) %]<a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscriptionid | uri %]"><i>[% bibliotitle | html %]</i></a> › Modify subscription[% ELSE %]New subscription[% END %] 37: <h1>[% IF ( modify ) %] Modify subscription for <i>[% bibliotitle | html %]</i>[% ELSE %]Add a new subscription[% END %] (<span id="page_number">1/2</span>)</h1> koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing.tt 15: › <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscriptionid | uri %]"><i>[% title | html %]</i></a> 27:<h1>Create routing list for <i>[% title | html %]</i></h1> 29:<h1>Edit routing list for <i>[% title | html %]</i></h1> koha-tmpl/intranet-tmpl/prog/en/modules/serials/checkexpiration.tt 53: <b>[% numsubscription | html %]</b> subscription(s) 59: with ISSN matching <b>[% issn | html %]</b> 61: will expire before <b>[% date | $KohaDates %]</b> koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt 16:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Serial collection information for <i>[% bibliotitle | html %]</i></div> 28: <h1>Serial collection information for <i>[% bibliotitle | html %]</i> koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing-preview.tt 11:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscriptionid | html %]"><i>[% title | html %]</i></a> › Preview routing list</div> 18:<h2>Preview routing list for <i>[% title | html %]</i></h2> koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt 21: Receipt summary for <i>[% name | html %]</i> 23: <i>[ [% invoice | html %] ]</i> 25: on <i>[% datereceived | $KohaDates %]</i> 49: Receipt summary for <i>[% name | html %]</i> [% IF ( invoice ) %] <i> [ [% invoice | html %] ] </i>[% END %] on <i>[% datereceived | $KohaDates %]</i> 195: <b title="Can't delete catalog record, because of [% loop_order.items | html %] existing item(s)" >[% loop_order.items | html %] item(s) left</b><br> 198: <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios | html %] order(s) left</b><br> 201: <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions | html %] subscription(s) left</b><br> 204: <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds | html %] hold(s) left</b> 251: <td colspan="3"><i>Subtotal for</i> [% key | html %]</td> koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt 102: <b>[% lateorder.biblio.title | html %]</b> 103: [% IF ( lateorder.biblio.author ) %]<br/><i>Author:</i> [% lateorder.biblio.author | html %][% END %] 105: <br/><i>Published by:</i> [% lateorder.biblio.biblioitem.publishercode | html %] 107: <i> in </i>[% lateorder.biblio.biblioitem.publicationyear | html %] koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt 510: <span class="error"><i>(Required)</i></span> koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt 571: <b title="Can't delete catalog record, because of [% books_loo.items | html %] existing hold(s)" >[% books_loo.items | html %] item(s) left</b><br> 574: <b title="Can't delete catalog record, delete other orders linked to it first">[% books_loo.biblios | html %] order(s) left</b><br> 577: <b title="Can't delete catalog record, delete subscriptions first">[% books_loo.subscriptions | html %] subscription(s) left</b><br> 580: <b title="Can't delete catalog record or order, cancel holds first">[% books_loo.holds | html %] hold(s) left</b> koha-tmpl/intranet-tmpl/prog/en/modules/acqui/newordersuggestion.tt 49: [% IF ( suggestions_loo.volumedesc ) %]volume: <i>[% suggestions_loo.volumedesc | html %]</i> [% END %] 50: [% IF ( suggestions_loo.isbn ) %]ISBN: <i>[% suggestions_loo.isbn | html %]</i> [% END %] 52: [% IF ( suggestions_loo.publicationyear ) %] in <i>[% suggestions_loo.publicationyear | html %]</i> [% END %] 53: [% IF ( suggestions_loo.place ) %] in <i>[% suggestions_loo.place | html %]</i> [% END %] 54: [% IF ( suggestions_loo.note ) %]<p><i>([% suggestions_loo.note | html %])</i></p> [% END %] koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice-files.tt 22: <p><b>Vendor: </b><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% suppliername | html %]</a></p> koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt 145: <p><b>Items list</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt 256: <p><b>Items list</b></p> 481: <p>Please enter a <b>number</b>, greater than or equal to 1</p> koha-tmpl/intranet-tmpl/prog/en/modules/labels/result.tt 54: [[% result_se.itemtype | html %]], [% IF ( result_se.publishercode ) %][% result_se.publishercode | html %] [% END %][% IF ( result_se.place ) %][% result_se.place | html %] [% END %][% IF ( result_se.copyrightdate ) %][% result_se.copyrightdate | html %], [% END %][% IF ( result_se.pages ) %][% result_se.pages | html %][% END %][% IF ( result_se.isbn ) %], <b>ISBN: </b>[% result_se.isbn | html %][% END %][% IF ( result_se.notes ) %],<br />[% result_se.notes | html %][% END %]</p> koha-tmpl/intranet-tmpl/prog/en/modules/circ/reserveratios.tt 103: <b>[% reserveloo.ratiocalc | html %] to order</b> 105: [% IF ( reserveloo.pendingorders ) %]<br><b>[% reserveloo.pendingorders | html %] pending</b>[% END %] 116: <b>No items found.</b> koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt 73: <td><p><b>[% reserveloo.pullcount | html %]</b></p></td> 198: <b>No items found.</b> 229: <p><i>(Inclusive, default is [% HoldsToPullStartDate | html %] days ago to [% HoldsToPullEndDate | html %] days ahead. Set other date ranges as needed.)</i></p> 231: <p><i>(Inclusive, default is [% HoldsToPullStartDate | html %] days ago to today. Set other date ranges as needed.)</i></p> koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt 72: <div class="dialog message">High demand item. <b>Loan period was not shortened due to override.</b> Shortened due date would have been [% alert.HIGHHOLDS.returndate | $KohaDates %] ([% alert.HIGHHOLDS.duration | html %] days).</div> 114: <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) is currently checked out to this patron. Renew?</li> 118: <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) has been waiting for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | uri %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %] since [% reswaitingdate | $KohaDates %]</li> 122: <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) has been on hold for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resborrowernumber | uri %]">[% resfirstname | html %] [% ressurname | html %]</a> ([% rescardnumber | html %]) at [% Branches.GetName( resbranchcode ) | html %] since [% resreservedate | $KohaDates %]</li> 126: <li>Item <i>[% getTitleMessageIteminfo | html %]</i> ([% getBarcodeMessageIteminfo | html %]) is checked out to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% issued_borrowernumber | uri %]">[% issued_firstname | html %] [% issued_surname | html %]</a> ([% issued_cardnumber | html %]). 188: <li>Patron has previously checked out this title: <b>[% biblio.title | html %] [% IF biblio.author %] by [% biblio.author | html %][% END %]</b>. Check out anyway?</li> koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt 730: <i> 736: </i> 830: <i>"[% message.message | html %]"</i> koha-tmpl/intranet-tmpl/prog/en/modules/circ/branchoverdues.tt 88: (<b>[% todayoverduesloo.description | html %]</b>) koha-tmpl/intranet-tmpl/prog/en/modules/circ/branchtransfers.tt 126: <li>Item type: <b>[% ItemTypes.GetDescription( errmsgloo.code ) | html %]</b></li> 128: <li>Collection: <b>[% AuthorisedValues.GetByCode( 'CCODE', errmsgloo.code ) | html %]</b></li> 130: <li>Destination library: <b>[% Branches.GetName( errmsgloo.tbr ) | html %]</b></li> koha-tmpl/intranet-tmpl/prog/en/modules/circ/transferstoreceive.tt 56: [% IF ( reser.itemtype ) %] (<b>[% reser.itemtype | html %]</b>)[% END %] koha-tmpl/intranet-tmpl/prog/en/modules/reports/acquisitions_stats.tt 22: <p><b>Filtered on:</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt 282: <p class="problem"><b>Reminder: </b>Patron was earlier restricted until [% errmsgloo.prevdebarred | $KohaDates %].</p> 285: <p class="problem"><b>Reminder: </b>Patron has an indefinite restriction.</p> koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt 80: [% UNLESS ( subfiel.hide_marc ) %]<b>[% subfiel.marc_subfield | html %]</b>[% END %] koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist-auth.tt 35: <p><b>Results [% from | html %] to [% to | html %] of [% total | html %]</b></p> 397: <b> Please choose a cache_expiry less than 30 days </b> 1210: <b>The following error was encountered:</b><br /> 1213: This report contains the SQL keyword <b>[% error.sqlerr | html %]</b>.<br /> koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt 59:[% IF op == 'view' %]› Contents of <i>[% shelf.shelfname | html %]</i>[% END %][% IF op == 'add_form' %] › Create new list[% END %][% IF op == 'edit_form' %] › Edit list <i>[% shelf.shelfname | html %]</i>[% END %]</div> 130: <h3>Contents of <i>[% shelf.shelfname | html %]</i></h3> 268: <legend>Edit list <i>[% shelf.shelfname | html %]</i></legend> koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt 7: | <b>Selected items :</b> koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqcontract.tt 111: <h3>Confirm deletion of contract <i>[% contractname | html %]</i></h3> koha-tmpl/intranet-tmpl/prog/en/modules/admin/categories.tt 165: <span>Select <i>All libraries</i> if this category type must to be displayed all the time. Otherwise select libraries you want to associate with this value. 298: <span>Controls how long a patrons checkout history is kept for new patrons of this category. "Never" anonymizes checkouts on return, and "Forever" keeps a patron's checkout history indefinitely. When set to "Default", the amount of history kept is controlled by the cronjob <i>batch_anonymise.pl</i> which should be set up by your system administrator.</span> koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_subfields_structure.tt 278: <i>[% loo.liblibrarian | html_entity %]</i> 285: <i>subfield ignored</i> koha-tmpl/intranet-tmpl/prog/en/modules/admin/auth_tag_structure.tt 205: <td><b>[% loo.tagfield | html %]</b></td> koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt 324: <p><b><a href="[856u]">open site</a></b> will show the link just below the title</p> 404: <b>[% description.translation | html %]</b> koha-tmpl/intranet-tmpl/prog/en/modules/admin/checkmarc.tt 270: <p><b>Configuration OK, you don't have errors in your MARC parameters table</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/admin/problem-reports.tt 79: <b>[% report.title | html %]</b><br> koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tt 40: <p><b>Each cell contain both actual and estimated values.</b></p> 42: <p><b>Cells contain estimated values only.</b></p> koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt 192: <h3>Modify budget <i>[% budget_period_description | html %]</i></h3> koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt 281: <i>[% loo.liblibrarian | html_entity %]</i> 288: <i>subfield ignored</i> koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref 298: - "Use of TY ( record type ) as a key will <i>replace</i> the default TY with the field value of your choosing." koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/i18n_l10n.pref 11: - . <b>Note:</b> Do not change this preference on a production server with overdue items that are accruing fines. Doing so will result in duplicate fines! 19: - . <b>Note:</b> Do not change this preference on a production server with overdue items that are accruing fines. Doing so will result in duplicate fines! koha-tmpl/intranet-tmpl/prog/en/modules/plugins/plugins-upload.tt 25: [% IF ( ERROR.NOTKPZ ) %]<li><b>The upload file does not appear to be a kpz file. The extension is not '.kpz'.</b></li> 26: [% ELSIF ( ERROR.NOWRITETEMP ) %]<li><b>This script is not able to create/write to the necessary temporary directory.</b></li> 27: [% ELSIF ( ERROR.EMPTYUPLOAD ) %]<li><b>The upload file appears to be empty.</b></li> 28: [% ELSIF ( ERROR.UZIPFAIL ) %]<li><b>[% ERROR.UZIPFAIL | html %] failed to unpack.<br />Please verify the integrity of the zip file and retry.</b></li> 29: [% ELSIF ( ERROR.NOWRITEPLUGINS ) %]<li><b>Cannot unpack file to the plugins directory.<br />Please verify that the Apache user can write to the plugins directory.</b></li> 30: [% ELSE %]<li><b>[% ERROR.CORERR | html %] An unknown error has occurred.<br />Please review the error log for more details.</b></li>[% END %] 36: <div class="hint"><b>NOTE:</b> Only KPZ file format is supported.</div> koha-tmpl/intranet-tmpl/prog/en/modules/plugins/plugins-home.tt 100: <div class="dialog message">Unknown plugin type <i>[% method | html %]</i></div> koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref 74: - "<i>see from</i> (non-preferred form) headings in bibliographic searches. Please note: you will need to reindex your bibliographic database when changing this preference." koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt 583: [% IF ( suggestions_loo.volumedesc ) %]; Volume:<i>[% suggestions_loo.volumedesc | html %]</i> [% END %] 584: [% IF ( suggestions_loo.isbn ) %]; ISBN:<i>[% suggestions_loo.isbn | html %]</i> [% END %][% IF ( suggestions_loo.publishercode ) %]; Published by [% suggestions_loo.publishercode | html %] [% END %][% IF ( suggestions_loo.publicationyear ) %] in <i>[% suggestions_loo.publicationyear | html %]</i> [% END %][% IF ( suggestions_loo.place ) %] in <i>[% suggestions_loo.place | html %]</i> [% END %][% IF ( suggestions_loo.collectiontitle ) %]; [% suggestions_loo.collectiontitle | html %] [% END %][% IF ( suggestions_loo.itemtype ) %]; [% AuthorisedValues.GetByCode( 'SUGGEST_FORMAT', suggestions_loo.itemtype, 0 ) | html %] [% END %]<br />[% IF ( suggestions_loo.note ) %]<div class="suggestion_note"><i class="fa fa-comment"></i> [% suggestions_loo.note | html %]</div>[% END %] 743: <b>No results.</b> koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep1.tt 33: <span class="breadcrumbs"> Administration <b>›</b> Libraries and groups </span> koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt 307: <p>The change to give is <b><span id="modal_change">0.00</span></b>.</p> koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep3.tt 68: <b>Note:</b> If you installed sample patron categories please select the "Staff" option in the patron categories dropdown box. koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt 96: <i>"[% patron_message.message | html %]"</i> 129: with the explanation: <i> 135: </i> koha-tmpl/intranet-tmpl/prog/en/modules/tags/list.tt 16:<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › <a href="/cgi-bin/koha/tags/review.pl">Tags</a> › Results for tag <i>[% tag | html %]</i></div> 24:<h3>Titles tagged with the term <i>[% tag | html %]</i></h3> 65: <div class="dialog message">There are no titles tagged with the term <i>[% tag | html %]</i></div> koha-tmpl/intranet-tmpl/prog/en/modules/onboarding/onboardingstep2.tt 119: <span class="breadcrumbs"> Administration <b>›</b> Patron categories</span> koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt 1261: <i>Indefinite</i> koha-tmpl/intranet-tmpl/prog/en/includes/waiting_holds.inc 28: [% IF ( ItemTypes.GetDescription(reserveloo.item.effective_itemtype) ) %] (<b>[% ItemTypes.GetDescription(reserveloo.item.effective_itemtype) | html %]</b>) koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc 122: Item waiting at <b> [% hold.wbrname | html %]</b> <input type="hidden" name="pickup" value="[% hold.wbrcode | html %]" /> since [% hold.waiting_date | $KohaDates %] 127: Item being transferred to <b> [% hold.wbrname | html %]</b> <input type="hidden" name="pickup" value="[% hold.wbrcode | html %]" /> 152: <i> 162: </i> 165: <i>Next available [% ItemTypes.GetDescription( hold.itemtype ) | html %] item</i> 167: <i>Next available</i> koha-tmpl/intranet-tmpl/prog/en/includes/borrower_debarments.inc 40: <td>[% IF d.expiration %] [% d.expiration | $KohaDates %] [% ELSE %] <i>Indefinite</i> [% END %]</td> koha-tmpl/intranet-tmpl/prog/en/includes/cateditor-ui.inc 1159: var error = '<b>' + _("Line ") + (this.line + 1) + ':</b> '; koha-tmpl/intranet-tmpl/prog/en/includes/patron-article-requests.inc 30: [% IF ar.itemnumber %] <i>(only [% ar.item.barcode | html %])</i>[% END %] koha-tmpl/intranet-tmpl/prog/en/includes/budgets-active-currency.inc 3: <p><b>Currency = [% currency | html %]</b></p> koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc 665: Manage uploaded files (<i>Useless without upload_general_files</i>) koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc 58: <label for="issues-table-output-format"><b>Export checkouts using format:</b></label> t/db_dependent/Letters/TemplateToolkit.t 668:<h5 style="margin-bottom: 1px; margin-top: 1px"><b><<opac_news.title>></b></h5> 728:<h5 style="margin-bottom: 1px; margin-top: 1px"><b>[% n.title %]</b></h5> == 2. Check for uppercases <I> <B> == I forgot that in the previous step. rg "\bI>|\bB>|<I\b|<B\b" --glob '!{*.sql,*.js,*.po}' Not much matches and nothing new found! :D == 3. Check the JS files == rg -i "\bi>|\bb>|<i\b|<b\b" --glob '!{*.html,*.inc,*.pm,*.pl,*.tt,*.t,*.sql,*.yml,*.po,*.min.js,*-min.js,browserid_include.js,bootstrap.js,verovio,mini.js,jquery-ui.js,jquery.js,jquery.jeditable.mini.js,leaflet.js,yahoo-dom-event.js,require.js,utilities.js}' git history shows that it's a file from us: koha-tmpl/intranet-tmpl/prog/js/datatables.js 26: "copyKeys" : __('Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.'), koha-tmpl/intranet-tmpl/prog/js/biblio_framework.js 58: $('#importing_' + frameworkcode).find("span").html(MSG_IMPORTING_TO_FRAMEWORK.format("<strong>" + frameworkcode + "</strong>", "<i>" + obj.val().replace(new RegExp("^.+[/\\\\]"),"") + "</i>")); Not sure about this one: koha-tmpl/intranet-tmpl/prog/js/holds.js 252: <h3 id='suspend-modal-label'>" + SUSPEND_HOLD_ON + " <i><span id='suspend-modal-title'></span></i></h3>\ koha-tmpl/intranet-tmpl/prog/js/checkouts.js 949: let desc = '<strong>' + oObj.resolution_data.lib + '</strong> <i>('; 951: desc += ', ' + oObj.resolved_on + ')</i>'; == 4. Check the SQL files == rg -i "\bi>|\bb>|<i\b|<b\b" --glob '{*.sql}' Files that contain <b>...</b> installer/data/mysql/nb-NO/1-Obligatorisk/sample_notices.sql installer/data/mysql/pl-PL/mandatory/sample_notices.sql installer/data/mysql/fr-CA/obligatoire/sample_notices.sql installer/data/mysql/uk-UA/mandatory/sample_notices.sql installer/data/mysql/de-DE/mandatory/sample_notices.sql installer/data/mysql/ru-RU/mandatory/sample_notices.sql installer/data/mysql/it-IT/necessari/notices.sql installer/data/mysql/userflags.sql installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql Also: installer/data/mysql/ru-RU/mandatory/system_preferences_optimal_values_insert_only.sql 25:UPDATE systempreferences SET value='#942|<code><b>|{942j}|</b></code><br/> 26:#700|<i>|{700a }{ 700g, }|; </i> 27:#701|<i>|{701a }{ 701g, }|; </i> 28:#702|<i>|{702a }{ 702g, }|; </i> 29:#200||<b>{200a}</b>{ [200b] }{. 200c}{: 200e}{. 200h}{. 200i}{ / 200f}{; 200g}| 42:#300|<br/> <i>Примечания:</i><br/> |{300a }| 43:#327|<br/> <i>Содержание:</i><br/> |{327a }| 44:#330|<br/> <i>Аннотация:</i><br/> |{330a }|' WHERE variable='ISBD';
(In reply to Katrin Fischer from comment #8) > I am not sure what the best way to check would be To have someone fall into the rabbit hole. Soooooo, it's done ^^" There shouldn't be missing file types and cases from union of the 4 sections of the above report. (search for "==" to find them) The idea that lead to the greps was to - not risk letting cases unnoticed - don't have to learn non-trivial XML parsing and find how to run it on type-mixed files At the expense of letting noise (99.9% by font awesome and class="caret") through. And then check a lot of noise manually before sending the results above. > but can we rule out that > these tags are used as selectors in Javascript/jQuery and or CSS? I guess that's to be expected to have a few selectors vulnerable to that. Hmmm, would there be a way to search for them? Here comes another rabbit hole! :o
> Replace <i> tags with <em> AND <b> tags with <strong> in the OPAC > in the OPAC Oooooow, I missed that! Shall I create another ticket about the staff interface?
It's definitely fine to replace <b> and <i> in both OPAC and STAFF. Is this ready to be implemented?
(In reply to Timothy Alexis Vass from comment #12) > It's definitely fine to replace <b> and <i> in both OPAC and STAFF. This can totally cause the whole thing to stop due to lack of time. Even if the OPAC part is almost done. Because the staff interface adds much more work and there are not the same strong requirements of accessibility as for the OPAC. So I'll split this ticket so the OPAC has a chance to move on. > Is this ready to be implemented? Anyone that have some time for this can update the current patch add the missing case. I'll see if in the mess I've found there is something related to the OPAC.
Here is another case in the OPAC koha-tmpl/opac-tmpl/xslt/OAI.xslt 146: <td><b>Repository Name</b></td> 151: <td><b>E-Mail Contact</b></td> 163: <td><b>Repository identifier</b></td> 169: <td><b>Sample identifier</b></td> 176: <td><b>Protocol Version</b></td> 184: <td><b>Earliest Registered Date</b></td> 192: <td><b>Date Granularity</b></td> 200: <td><b>Deletion Mode</b></td>
Findings not related to the OPAC have been moved to bug 25744. And comments here related to the OPAC have been marked as obsolete. Hopefully that will the work already done to move forward.
(In reply to Katrin Fischer from comment #8) > I am not sure what the best way to check would be, but can we rule out that > these tags are used as selectors in Javascript/jQuery and or CSS? The number of pages is not that big. So would it be enough for the signoff to check every page to see if there is some obvious breakage? And more subtle stuff would be found in the rest of cycle. The benefit of being in the beginning of cycle :P Should be take into account that we should have during this cycle the migration of the OPAC to bootstrap 4? (bug 20168). Which would allow to catch any misplacement or mistyping that wasn't detected at the signoff.
Created attachment 105870 [details] [review] Bug 22672: Change <i> to <em> and <b> to <strong> in templates, includes, xslt This patch attempts to replace <i> with <em> AND <b> with <strong> in order to more accessible to screen readers. This patch makes no attempt to change Font Awesome icons which typically use <i>. I found templates, includes and XSLT by using 'git grep ‘<b>’ koha-tmpl/opac-tmpl/bootstrap/en/' and git grep ‘<i>’ koha-tmpl/opac-tmpl/bootstrap/en/ TEST PLAN: There should be no visible difference on the changed pages. The files changed are: koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-note.inc koha-tmpl/opac-tmpl/bootstrap/en/modules/clubs/enroll.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-authoritiessearchresultlist.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-browser.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-downloadshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-overdrive-search.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-privacy.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results-grouped.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shareshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/NORMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/xslt/OAI.xslt Read the changes and make sure everything looks correct, try to visit as many pages as possible and confirm that everything looks as it should. grep around for cases of <b> or <i> that I could have missed.
- Searched the folders bootstrap and xslt with following regular expressions, to make sure: <b(\s.*)?> includes all <b> and <b ...> tags (?!.*fa)<i(\s.*.*)?> includes all <i> and <i ...> tags excluding any tags with font-awesome icons. - Found the same as Victor. - Added these changes and attached a new patch.
I have looked through each occurence in each file and it's correct. There are only <strong> and <em> tags around text and it's all simple.
Created attachment 106050 [details] [review] Bug 22672: Change <i> to <em> and <b> to <strong> in templates, includes, xslt This patch attempts to replace <i> with <em> AND <b> with <strong> in order to more accessible to screen readers. This patch makes no attempt to change Font Awesome icons which typically use <i>. I found templates, includes and XSLT by using 'git grep ‘<b>’ koha-tmpl/opac-tmpl/bootstrap/en/' and git grep ‘<i>’ koha-tmpl/opac-tmpl/bootstrap/en/ TEST PLAN: There should be no visible difference on the changed pages. The files changed are: koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-note.inc koha-tmpl/opac-tmpl/bootstrap/en/modules/clubs/enroll.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-authoritiessearchresultlist.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-browser.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-downloadshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-overdrive-search.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-privacy.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results-grouped.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shareshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/NORMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/xslt/OAI.xslt Read the changes and make sure everything looks correct, try to visit as many pages as possible and confirm that everything looks as it should. grep around for cases of <b> or <i> that I could have missed. Signed-off-by: Timothy Alexis Vass <timothy_alexis.vass@ub.lu.se> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Thanks Timothy for completing the patch :D
Sorry, it does no longer apply. Can you rebase it? CONFLICT (content): Merge conflict in koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt
Created attachment 106359 [details] [review] Bug 22672: Change <i> to <em> and <b> to <strong> in templates, includes, xslt This patch attempts to replace <i> with <em> AND <b> with <strong> in order to more accessible to screen readers. This patch makes no attempt to change Font Awesome icons which typically use <i>. I found templates, includes and XSLT by using 'git grep ‘<b>’ koha-tmpl/opac-tmpl/bootstrap/en/' and git grep ‘<i>’ koha-tmpl/opac-tmpl/bootstrap/en/ TEST PLAN: There should be no visible difference on the changed pages. The files changed are: koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc koha-tmpl/opac-tmpl/bootstrap/en/includes/opac-note.inc koha-tmpl/opac-tmpl/bootstrap/en/modules/clubs/enroll.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-auth-MARCdetail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-authoritiessearchresultlist.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-browser.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-downloadshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-opensearch.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-overdrive-search.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-privacy.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results-grouped.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shareshelf.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/NORMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl koha-tmpl/opac-tmpl/xslt/OAI.xslt Read the changes and make sure everything looks correct, try to visit as many pages as possible and confirm that everything looks as it should. grep around for cases of <b> or <i> that I could have missed. Signed-off-by: Timothy Alexis Vass <timothy_alexis.vass@ub.lu.se> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Conflict fixed. Double checked the diff of the file afterwards, no issues found.
Pushed to master for 20.11, thanks to everybody involved!
backported to 20.05.x for 20.05.02
backported to 19.11.x for 19.11.08
Backported to 19.05.x branch for 19.05.13