Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shareshelf.tt
Owen Leonard 43aea684f0 Bug 28101: Update breadcrumb markup in the OPAC for consistency and accessibility
Modified breadcrumbs to be accessible, in particular for a
screen-reader. Also ensured the breadcrumbs were all consistent.

Made the block of breadcrumbs to be a <nav id="breadcrumbs"
aria-label="Breadcrumb" class="breadcrumbs"> with an ordered list
inside. The last breadcrumb also has aria-current="page" to specify that
it is the current page.

To test, apply the patch and rebuild the OPAC CSS (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client)

- Confirm that OPAC templates are updated consistently to use
  breadcrumbs markup beginning with '<nav
  id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">'
- Pages in the OPAC should look consistent, with the last breadcrumb
  styled as text and with the "aria-current" attribute "page."

Sponsored-by: Catalyst IT
Signed-off-by: Henry Bolshaw <bolshawh@parliament.uk>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-10-25 15:58:01 +02:00

137 lines
6.9 KiB
Text

[% USE Koha %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Share a list &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %][% END %]
</head>
[% INCLUDE 'bodytag.inc' bodyid='opac-shareshelf' bodyclass='scrollto' %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumbs">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-main.pl">Home</a>
</li>
[% IF ( loggedinusername ) %]
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a>
</li>
[% END %]
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-shelves.pl">Lists</a>
</li>
<li class="breadcrumb-item active">
<a href="#" aria-current="page">Share a list</a>
</li>
</ol> <!-- / .breadcrumb -->
</nav> <!-- /#breadcrumbs -->
<div class="container-fluid">
<div class="row">
[% IF ( OpacNav ) %]
<div class="col-lg-2">
<div id="navigation">
[% INCLUDE 'navigation.inc' IsPatronPage=1 %]
</div>
</div>
[% END %]
<div class="col-10 order-first order-md-first order-lg-2">
<div id="shareshelf" class="maincontent">
[%# This section contains the essential code for error messages and three operations: invite, confirm_invite and accept. %]
<h1>Share a list with another patron</h1>
[% IF errcode %]
[% IF errcode==1 && op %]
<div class="alert alert-warning">The operation [% op | html %] is not supported.</div>
[% END %]
[% IF errcode==1 && !op %]
<div class="alert alert-warning">No operation parameter has been passed.</div>
[% END %]
[% IF errcode==2 %]
<div class="alert alert-warning">Invalid shelf number.</div>
[% END %]
[% IF errcode==3 %]
<div class="alert alert-warning">The feature of sharing lists is not in use in this library.</div>
[% END %]
[% IF errcode==4 %]
<div class="alert alert-warning">You can only share a list if you are the owner.</div>
[% END %]
[% IF errcode==5 %]
<div class="alert alert-warning">You cannot share a public list.</div>
[% END %]
[% IF errcode==6 %]
<div class="alert alert-warning">Sorry, but you did not enter a valid email address.</div>
[% END %]
[% IF errcode==7 %]
<div class="alert alert-warning">Sorry, but we could not accept this key. The invitation may have expired. Contact the patron who sent you the invitation.</div>
[% END %]
[% IF errcode==8 %]
<div class="alert alert-warning">As owner of a list you cannot accept an invitation for sharing it.</div>
[% END %]
<p><a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=1">Return to your lists</a></p>
[% ELSIF op=='invite' %]
<div id="invite">
<form id="share_list">
<legend class="sr-only">Share list</legend>
<fieldset class="rows">
<input type="hidden" name="op" value="conf_invite"/>
<input type="hidden" name="shelfnumber" value="[% shelfnumber | html %]"/>
<ol>
<li>
<label for="name">List name:</label> [% shelfname | html %]
</li>
<li>
<label for="invite_address">Email address:</label>
<input type="text" id="invite_address" name="invite_address" size="40" />
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="submit" value="Send" class="btn btn-primary" />
<a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=1" class="cancel">Cancel</a>
</fieldset>
</form> <!-- /#share_list -->
</div> <!-- /#invite -->
[% ELSIF op=='conf_invite' %]
<div id="conf_invite">
[% IF approvedaddress %]
<p>An invitation to share list <em>[% shelfname | html %]</em> will be sent shortly to [% approvedaddress | html %].</p>
[% END %]
[% IF failaddress %]
<p>Something went wrong while processing the following addresses. Please check them. These are: [% failaddress | html %]</p>
[% END %]
[% IF approvedaddress %]
<p>You will receive an email notification if someone accepts your share before it expires.</p>
[% END %]
<p><a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=1">Return to your lists</a></p>
</div>
[% ELSIF op=='accept' %]
[%# Nothing to do: we already display an error or we redirect. %]
[% END %]
[%# End of essential part %]
</div> <!-- / #shareshelf.maincontent -->
</div> <!-- / .span10 -->
</div> <!-- / .row -->
</div> <!-- / .container-fluid -->
</div> <!-- / .main -->
[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
<script>
$(document).ready(function(){
$("#share_list").on('submit', function(e) {
var address = $("#invite_address").val();
if ( address.length == 0) {
e.preventDefault();
}
});
});
</script>
[% END %]