Bug 26722

Summary: [Omnibus] Use descriptive link texts
Product: Koha Reporter: Katrin Fischer <katrin.fischer>
Component: TemplatesAssignee: Owen Leonard <oleonard>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: minor    
Priority: P5 - low CC: dcook, jonathan.druart+koha
Version: masterKeywords: Academy, accessibility
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Text to go in the release notes:
Version(s) released in:
Bug Depends on: 27470, 27476, 26723, 26724, 26725, 26726, 26759, 27469, 27471, 27472, 27473, 27474, 27475, 27477, 27478, 27479, 27480    
Bug Blocks:    

Description Katrin Fischer 2020-10-18 15:27:16 UTC
"Here" should not be used as a link text as it doesn't contain any helpful information for people scanning the page for information and also is a problem for blind users using screen readers jumping from link to link on a page.

2.4.4 Link Purpose (In Context): The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general. (Level A) 
https://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-refs.html

There are plenty of other resources with examples too:
https://www.w3.org/QA/Tips/noClickHere
https://www.washington.edu/accessibility/links/
https://webaim.org/techniques/hypertext/
Comment 1 Jonathan Druart 2021-01-07 14:21:40 UTC
Looks like we still have some work to do before closing this one.

The following occurrences seem valid:

opac-auth.tt:                                    <p><a href="[% shibbolethLoginUrl | $raw %]">If you have a Shibboleth account, please click here to log in.</a></p>                                              
opac-auth.tt:                                    <p><a href="[% casServerUrl | $raw %]">Please click here to log in.</a><p>                                                                                       
opac-auth.tt:                                   <p><a href="[% casServerUrl | $raw %]">If you have a CAS account, please click here to log in.</a><p>                                                             
opac-auth.tt:                                        <a href="/cgi-bin/koha/opac-memberentry.pl">You may register here.</a>                                                                                       
opac-detail.tt:                                        <noscript>This page contains enriched content visible when JavaScript is enabled or by clicking <a href="https://www.librarything.com/forlibraries/noscript.php?id=[% LibraryThingForLibrariesID | uri %]&amp;accessibility=1">here</a>.</noscript>
opac-detail.tt:                            <p>This record has many physical items ([% items_count | html %]). <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% biblio.biblionumber | uri %]&amp;viewallitems=1">Click here to view them all.</a></p>
opac-detail.tt:                <a href="https://www.librarything.com/forlibraries/noscript.php?id=[% LibraryThingForLibrariesID | uri %]&amp;accessibility=1">here</a>.</noscript>                                
opac-illrequests.tt:                                                <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% request.biblio_id | uri %]">Click here to view</a>                                      
opac-main.tt:                                                <p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p>                                                         
opac-password-recovery.tt:                            <a href="/cgi-bin/koha/opac-user.pl">Click here to login.</a>                                                                                               
opac-patron-consent.tt:                                    <p>I have read the <a target="_blank" href="[% Koha.Preference('PrivacyPolicyURL') | url %]">privacy policy</a> and agree with your processing of my personal data as outlined therein.</p>
opac-registration-confirmation.tt:                                    [% IF PatronSelfRegistration && PatronSelfRegistrationDefaultCategory %]<div id="patronregistration"><p>Don't have an account? <a href="/cgi-bin/koha/opac-memberentry.pl">Register here.</a></p></div>[% END %]
opac-user.tt:                    <p><a href="/cgi-bin/koha/opac-main.pl?logout.x=1">Click here if you're not [% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a></p>