Marcelo Paiva
6db8b6db23
Fix WCAG 2.1 AA low-priority issues: aria-busy, keyboard nav, live regions, ARIA states
...
- L1: download_button.js — set aria-busy="true/false" in toggleState() during downloads (WCAG 4.1.3)
- L2: submit_form.js — announce auto-submit via data-announce-submit + announcePolite (WCAG 4.1.3)
- L3: toggle_submit.js — set aria-busy="true" on submit button when form submits (WCAG 4.1.2)
- L4: indeterminate_checkbox.js — set aria-checked="mixed" when indeterminate; update on click (WCAG 4.1.2)
- L5: review_form.js — announcePolite("Rating submitted") before auto-submit at rating 10 (WCAG 4.1.3)
- L6: masked_input.js — append sr-only hint with aria-describedby explaining masking behavior (WCAG 3.3.2)
- L7: check_on_click.js — add keydown handler for Enter/Space keys (WCAG 2.1.1)
- L9: submit_form/show.html.erb — add aria-label to icon-only download button in scroll-buttons (WCAG 4.1.2)
- L11: initials_step.vue — add :aria-label="t('minimize')" to minimize button (WCAG 4.1.2)
- L13: _drawer_events.html.erb — fix CSS typo border-base-content-/60 → border-base-content/60
- L8: app_tour.js — driver.js provides keyboard support natively (Escape/Enter); no change needed
- L10: _html_modal.html.erb — role="button" tabindex="0" aria-label already applied in Sprint 1
- L12: text-base-content/60 contrast — verified compliant at typical DaisyUI theme ratios
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 weeks ago
Marcelo Paiva
bf4bbedc28
Fix WCAG 2.1 AA medium/high issues: keyboard nav, canvas ARIA, live regions, focus management
...
- H7: Add user_menu.js custom element for navbar dropdown keyboard navigation
(ArrowDown/Up, Enter/Space, Escape, roving tabindex, aria-expanded) (WCAG 2.1.1)
- H8: Add aria-label + fallback text to signature, initials, and QR canvas elements (WCAG 1.1.1)
- M3: Add role="textbox" + aria-label to field name contenteditable in area.vue (WCAG 4.1.2)
- M4: Add aria-hidden/aria-expanded to toggle_visible.js and field_condition.js (WCAG 4.1.2)
- M5: Add aria-label ("Show/Hide password") + aria-pressed to password_input.js toggle (WCAG 4.1.2)
- M6: Move focus to first input on addItem; announce removal via announcePolite in dynamic_list.js (WCAG 2.4.3)
- M7: Announce "Copied to clipboard" via announcePolite in clipboard_copy.js (WCAG 4.1.3)
- M9: Fix placeholder contrast text-neutral-400 → text-neutral-600 in contenteditable.vue (WCAG 1.4.3)
- M9: Fix placeholder contrast before:text-base-content/30 → /60 in template_builder/area.vue (WCAG 1.4.3)
- M11: Add persistent aria-live="polite" region for QR code appearance in signature_step.vue (WCAG 4.1.3)
- Fix missed alert() in initials_step.vue → initialsError data prop + live region (WCAG 4.1.3)
- Add canvas accessibility i18n keys: signature_drawing_pad, initials_drawing_pad, qr_code_for_mobile_signature
- Add field_name i18n key to template_builder for contenteditable aria-label
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 weeks ago
Marcelo Paiva
743e7e5ca6
Add alt text to all images in Vue submission form components
...
Fixed 6 images missing alt attributes across submission form components:
- signature_step.vue: Added dynamic alt text with field name and "preview"
- initials_step.vue: Added dynamic alt text with field name and "preview"
- image_step.vue: Added dynamic alt text with field name and "preview"
- area.vue: Added alt text for 5 different image types:
* Image field
* Stamp field
* Knowledge-based authentication (KBA) field
* Signature field
* Initials field
All alt text uses field.name when available, falling back to descriptive defaults.
This satisfies WCAG 2.2 Success Criterion 1.1.1 (Non-text Content, Level A).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 month ago
Pete Matsyburka
29ff58ed98
fix drawing
3 months ago
Pete Matsyburka
5ae479644e
focus on canvas click
5 months ago
Pete Matsyburka
10e4476f4a
fix signature prefill
9 months ago
Pete Matsyburka
64cd24a24d
validate blank images
9 months ago
Pete Matsyburka
43669bf095
do not prefill optional signature
10 months ago
Pete Matsyburka
7964d6e0f0
improve signature validation
11 months ago
Alex Turchyn
b0110d9340
update signature validation
12 months ago
Pete Matsyburka
ad2b35673a
fix class
1 year ago
Alex Turchyn
64d3360e82
add ui classes
1 year ago
Pete Matsyburka
eb53af12c4
adjust form
1 year ago
Alex Turchyn
5bed6448dc
make custom fields titles smaller on mobile devices
1 year ago
Pete Matsyburka
76f1f140ac
add field color
1 year ago
Pete Matsyburka
96cf228e74
fix upload signature
2 years ago
Pete Matsyburka
9472a6b5b0
allow to upload initial
2 years ago
Alex Turchyn
e55c8f251d
automatically lower signature font size if text doesn't fit
2 years ago
Pete Matsyburka
377244f948
add form preview
2 years ago
Pete Matsyburka
2df05f0327
adjust initials height
2 years ago
Pete Matsyburka
dcb963b623
add autoscrollFields prop
2 years ago
Pete Matsyburka
cab9672d25
remove direct upload
2 years ago
Pete Matsyburka
cfe5610ec9
add field description and title
2 years ago
Pete Matsyburka
c3f3c5d5df
add missing i18n
2 years ago
Pete Matsyburka
bdc30db2dc
fix typed signature field
2 years ago
Pete Matsyburka
d1d26b5424
increase canvas resolution
2 years ago
Pete Matsyburka
c987ec172a
fix canvas intersection observer
2 years ago
Pete Matsyburka
13379bd699
resize canvas on visibility change
2 years ago
Pete Matsyburka
e84be523c6
add show field names prop
2 years ago
Pete Matsyburka
17de28965b
add LTR script support
2 years ago
Pete Matsyburka
e7ef7b552f
show field area pages list inthe form
2 years ago
DocuSeal
89d0810625
adjust signature step
2 years ago
DocuSeal
86c7b92675
apply previous signature and initials on the next field
2 years ago
DocuSeal
3614d1796c
do not split signature pad js in form
2 years ago
DocuSeal
b6f7a7dd15
fix initials step
2 years ago
Alex Turchyn
5643094a7a
add default user signatures
3 years ago
Alex Turchyn
ee350324e5
add initials field
3 years ago