mirror of https://github.com/docusealco/docuseal
Sprint 5 – Critical fixes: - 5-A: Add sr-only label + aria-label to search input and clear/submit buttons - 5-B: Add role/aria-live/aria-atomic to flash messages; dismiss button label - 5-C: Add role=dialog aria-modal aria-labelledby to _html_modal - 5-D: Change file-dropzone inputs from display:none to sr-only; add region/label to dropzone element - 5-E: Convert all <a href="#"> acting as buttons to <button type="button"> in signature_step, initials_step, phone_step Sprint 6 – High priority: - 6-A: Wrap pagination in <nav aria-label>; add aria-current="page" to current page - 6-B: Wrap settings nav in <nav aria-label>; add aria-labels to icon-only social links - 6-B/7-J: menu_active.js sets aria-current="page" on active links - 6-C/D: Progress dots → <button> with aria-label/aria-current; form container gets aria-hidden; expand button gets aria-expanded/aria-controls - 6-E: Add aria-label to folder card link - 6-F: Wrap breadcrumb back-link in <nav aria-label="Breadcrumb"> - 6-G: scroll_to.js adds keydown (Enter/Space) handler and focuses target after scroll - 6-H: Add aria-label to template builder option remove (×) button - 6-I: fetch_form.js announces success via announcePolite when data-success-message set - 6-J: Convert turbo_drawer close anchors to <button> with aria-label Sprint 7 – Medium priority: - 7-A: aria-errormessage + aria-invalid on signature/initials canvas linked to error divs - 7-B: aria-busy on payment step processing/checkout buttons - 7-D: Add id/aria-label/aria-controls to API settings DaisyUI collapse checkboxes - 7-E: Add table caption, scope="col" on headers, sr-only Actions column header - 7-F: Wrap SMTP security radio buttons in <fieldset><legend> - 7-G: Add aria-pressed to dashboard toggle view buttons - 7-I: Add aria-label="Country code" to phone step select - i18n: Add dismiss, step, form_progress, breadcrumb, actions keys Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>pull/599/head
parent
76f0fa7426
commit
cf20940023
@ -1,12 +1,12 @@
|
|||||||
<form action="<%= root_path %>" method="get" id="templates_submissions_toggle" class="bg-base-200 px-1.5 rounded-xl py-1 whitespace-nowrap">
|
<form action="<%= root_path %>" method="get" id="templates_submissions_toggle" class="bg-base-200 px-1.5 rounded-xl py-1 whitespace-nowrap">
|
||||||
<toggle-cookies data-value="templates" data-key="dashboard_view" class="sm:tooltip tooltip-top" data-tip="<%= t('templates') %>">
|
<toggle-cookies data-value="templates" data-key="dashboard_view" class="sm:tooltip tooltip-top" data-tip="<%= t('templates') %>">
|
||||||
<button class="<%= local_assigns[:selected] == 'submissions' ? 'btn !border !rounded-lg btn-square !p-0 !btn-sm !h-8 !w-9' : 'btn btn-neutral !rounded-lg btn-square !p-0 hover:text-neutral-300 !btn-sm !h-8 !w-9 disabled:btn-neutral' %>" aria-label="<%= t('templates') %>">
|
<button class="<%= local_assigns[:selected] == 'submissions' ? 'btn !border !rounded-lg btn-square !p-0 !btn-sm !h-8 !w-9' : 'btn btn-neutral !rounded-lg btn-square !p-0 hover:text-neutral-300 !btn-sm !h-8 !w-9 disabled:btn-neutral' %>" aria-label="<%= t('templates') %>" aria-pressed="<%= local_assigns[:selected] != 'submissions' %>">
|
||||||
<%= svg_icon('layout_grid', class: 'w-6 h-6 stroke-2') %>
|
<%= svg_icon('layout_grid', class: 'w-6 h-6 stroke-2', aria_hidden: true) %>
|
||||||
</button>
|
</button>
|
||||||
</toggle-cookies>
|
</toggle-cookies>
|
||||||
<toggle-cookies data-value="submissions" data-key="dashboard_view" class="sm:tooltip tooltip-top" data-tip="<%= t('submissions') %>">
|
<toggle-cookies data-value="submissions" data-key="dashboard_view" class="sm:tooltip tooltip-top" data-tip="<%= t('submissions') %>">
|
||||||
<button class="<%= local_assigns[:selected] == 'submissions' ? 'btn btn-neutral !rounded-lg btn-square !p-0 hover:text-neutral-300 !btn-sm !h-8 !w-9' : 'btn !border !rounded-lg btn-square !p-0 !btn-sm !h-8 !w-9 disabled:btn-neutral' %>" aria-label="<%= t('submissions') %>">
|
<button class="<%= local_assigns[:selected] == 'submissions' ? 'btn btn-neutral !rounded-lg btn-square !p-0 hover:text-neutral-300 !btn-sm !h-8 !w-9' : 'btn !border !rounded-lg btn-square !p-0 !btn-sm !h-8 !w-9 disabled:btn-neutral' %>" aria-label="<%= t('submissions') %>" aria-pressed="<%= local_assigns[:selected] == 'submissions' %>">
|
||||||
<%= svg_icon('layout_list', class: 'w-6 h-6 stroke-2') %>
|
<%= svg_icon('layout_list', class: 'w-6 h-6 stroke-2', aria_hidden: true) %>
|
||||||
</button>
|
</button>
|
||||||
</toggle-cookies>
|
</toggle-cookies>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
<div id="flash" class="absolute top-0 w-full h-0 z-20">
|
<div id="flash" class="absolute top-0 w-full h-0 z-20">
|
||||||
<div class="max-w-xl mx-auto mt-1.5">
|
<div class="max-w-xl mx-auto mt-1.5">
|
||||||
<div class="px-4 py-3 rounded-2xl bg-base-200 flex items-center justify-between mx-4 md:mx-0">
|
<div class="px-4 py-3 rounded-2xl bg-base-200 flex items-center justify-between mx-4 md:mx-0" <% if flash[:notice] %>role="status" aria-live="polite" aria-atomic="true"<% else %>role="alert" aria-live="assertive" aria-atomic="true"<% end %>>
|
||||||
<div class="flex items-center space-x-3">
|
<div class="flex items-center space-x-3">
|
||||||
<% if flash[:notice] %>
|
<% if flash[:notice] %>
|
||||||
<%= svg_icon('info_circle', class: 'stroke-info flex-none w-6 h-6') %>
|
<%= svg_icon('info_circle', class: 'stroke-info flex-none w-6 h-6', aria_hidden: true) %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= svg_icon('exclamation_circle', class: 'stroke-error flex-none w-6 h-6') %>
|
<%= svg_icon('exclamation_circle', class: 'stroke-error flex-none w-6 h-6', aria_hidden: true) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div>
|
<div>
|
||||||
<span><%= flash[:notice] || flash[:alert] %></span>
|
<span><%= flash[:notice] || flash[:alert] %></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<remove-on-event data-event-type="click" data-selector-id="flash" class="mr-1 cursor-pointer">×</remove-on-event>
|
<remove-on-event data-event-type="click" data-selector-id="flash" class="mr-1 cursor-pointer" role="button" tabindex="0" aria-label="<%= t('dismiss') %>">×</remove-on-event>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in new issue