Skip to content

Commit 6a09ef0

Browse files
claurenntdependabot[bot]astagizetareticoli
authored
fix(a11y): improve modal with icon example and docs (#1593)
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrea Stagi <stagi.andrea@gmail.com> Co-authored-by: Francesco Improta <me@francescoimprota.com>
1 parent 407fed5 commit 6a09ef0

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

docs/componenti/modale.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,31 @@ Esempio completo:
134134
È possibile inserire un icona di alert (o altro tipo) affiancandola all'intestazione.
135135
Per formattare correttamente i contenuti della modale con icona, occorre aggiungere la classe `alert-modal` all'elemento `<div class="modal">`
136136

137+
{% capture callout %}
138+
139+
#### Accessibilità icona
140+
141+
**Fornire un testo alternativo per l'icona che veicola informazioni:** È fondamentale comunicare il significato dell'icona agli utenti che utilizzano tecnologie assistive. Sono disponibili diverse tecniche:
142+
143+
- **Tecnica consigliata (supporto più ampio):** Applicare l'attributo `role="img"` all'elemento `<svg>`, inserire un elemento `<title>` all'interno del tag `<svg>` con il testo descrittivo e collegare i due elementi tramite `aria-labelledby`.
144+
- **Alternativa:** Utilizzare l'attributo `aria-label` direttamente sull'elemento `<svg>`
145+
- **Approccio alternativo:** Nascondere l'icona con `aria-hidden="true"` aggiunto all'elemento `<svg>` se il significato è già comunicato tramite altro testo.
146+
147+
Per maggiori informazioni, consulta il seguente articolo [Using ARIA to enhance SVG accessibility](https://www.tpgi.com/using-aria-enhance-svg-accessibility/).
148+
{% endcapture %}{% include callout.html content=callout type="accessibility" %}
149+
150+
151+
152+
{% comment %}Example name: Pulsante di chiusura, dettaglio{% endcomment %}
153+
137154
{% comment %}Example name: Con icona{% endcomment %}
138155
{% capture example %}
139156
<div class="it-example-modal">
140157
<div class="modal alert-modal" tabindex="-1" role="dialog" id="modal3" aria-labelledby="modal3Title">
141158
<div class="modal-dialog" role="document">
142159
<div class="modal-content">
143160
<div class="modal-header">
144-
<svg class="icon"><use href="{{ site.baseurl }}/dist/svg/sprites.svg#it-info-circle"></use></svg>
161+
<svg class="icon" aria-labelledby="titolo-svg" role="img"><title id="titolo-svg">Testo alternativo per la svg</title><use href="{{ site.baseurl }}/dist/svg/sprites.svg#it-info-circle"></use></svg>
145162
<h2 class="modal-title h5 no_toc" id="modal3Title">Questo è un messaggio di notifica più esteso del solito</h2>
146163
</div>
147164
<div class="modal-body">

0 commit comments

Comments
 (0)