2013-10-10 5 views
7

Come forse saprai, le descrizioni comandi di bootstrap di Twitter non sono accessibili (perché non vengono letti dagli screen reader). Per realizzare questo obiettivo, le seguenti cose dovrebbero essere fatte:Come posso rendere accessibili i tooltip di Twitter Bootstrap?

  1. Dopo aver chiamato la funzione tooltip(), l'elemento di testo generato (quello che contiene il testo del tooltip) dovrebbe ottenere un nuovo attributo aggiunto ad esso: aria-hidden="true".
  2. L'elemento originale (è stato chiamato il numero tooltip()) deve essere aggiunto ad un attributo: aria-describedby="#<tooltip-id>", dove tooltip-id fa riferimento all'ID del nuovo elemento appena creato in precedenza.

Dal momento che il modo in cui il Javascript attualmente lavora è la selezione di tutti gli elementi con la classe .tooltip e applicando la funzione tooltip() ad esso, mi chiedo come posso fare questo senza modificare il codice sorgente della funzione tooltip().

Ecco un esempio del codice per un pulsante:

<span role="button" rel="tooltip" title="Add Youtube Video" class="fancyPostButton span1" tabindex="0" style="-webkit-user-select: none;padding-top: 10px"> 
    <div id="fancyPostVideoPicker" class="fancyPostAttachment videoAttachment glyphicons film centerMe"> 
     <i></i> 
    </div> 
</span> 
+0

Quindi è questa domanda in realtà: "Come faccio a giro su una funzione in Twitter Bootstrap" (senza modificare il codice sorgente). Suggerirei un cambio di titolo, la motivazione è l'accessibilità (ottima) ma la tecnica è più orientata a JavaScript. – AlastairC

+0

quale versione di bootstrap? 2.xo 3.x? – davidkonrad

+0

@AlastairC: Il fatto è che non sono sicuro se il modo migliore sia quello di ignorare la funzione; questa è una delle cose che sto cercando di scoprire: devo sovrascrivere la funzione o aggiungere, ad esempio, una richiamata di un evento per risolvere il problema? –

risposta

5

Dagli sguardi del main example nella documentazione Bootstrap sono accessibili tastiera (cioè show per tastiera-solo gli utenti) quando usato su natively- elementi focalizzabili e usano il contenuto testuale per i pulsanti.

Quindi gli esempi Bootstrap predefiniti non sono troppo male, se il testo del suggerimento era necessario per comprendere il pulsante (come il tuo esempio), cioè quando crea un problema di accessibilità.

Quindi la cosa principale è che il pulsante non ha contenuto, quindi uno screen reader non saprà con che cosa iniziare. (NB: Alcuni screen reader potrebbero tornare al titolo se si trattasse di un link o pulsante nativo, ma non dovresti fare affidamento su questo.)

Per fare un pulsante che mostra un'icona di carattere, hai bisogno di contenuti e l'icona, quindi due elementi:

<a href=”target.html”>
  
    <span class=”icon-home” aria-hidden="true"></span>
  
    <span class=”alt”>Add YouTube Video</span>
  
</a> 

Quindi utilizzare CSS per nascondere il testo fuori schermo. L'ARIA-hidden significa che il carattere del font non verrà letto.

Vorrei anche raccomandare di utilizzare un pulsante o un collegamento, piuttosto che span o div, poiché non è necessario utilizzare javascript per simulare onclick ecc. In questo caso, è disponibile anche un elemento inline (span) avvolto attorno a un elemento di blocco (div) che non è un codice HTML valido.

Se si utilizza la tecnica sopra lo screen reader, gli utenti sentiranno comunque il contenuto dell'articolo, non penso che ci sia altro testo da leggere?

Se non è possibile aggiungere il testo nascosto nel codice sorgente, è possibile scorrere gli elementi del suggerimento aggiungendolo dinamicamente.

+0

Bene, i nostri pulsanti/link hanno il loro rel impostato su '" tooltip "', quindi non posso davvero passare attraverso l'intera applicazione e scrivere il codice per ognuno separatamente. Preferisco scriverlo da qualche parte che verrà eseguito per tutte le app. Inoltre, non hanno alcun testo, solo glyphicon. Dato che i glyphicon sono nei tag '', quello che ho fatto al momento è impostare l'attributo 'aria-hidden' del' 'interno a' true'. Tuttavia, come ho detto, non voglio doverlo fare per ogni singolo suggerimento, poiché ce ne sono molti. –

+0

I contenuti dei pulsanti/collegamenti glyphicon o il contenuto dei tooltip sono? Puoi aggiungere un esempio di sorgente HTML resa per un pulsante/link per favore? Penso che potresti avere problemi più grandi/altri rispetto ai tooltip. – AlastairC

+0

Ho modificato la domanda per includere il codice. –

-2

possono guardare al W3C & ARIA per la direzione http://www.w3.org/WAI/PF/aria-practices/#tooltip

+0

Sono un utente cieco del computer, quindi sono perfettamente consapevole dello standard e del suo effetto sugli screen reader. Tuttavia, la mia domanda era specifica delle descrizioni di Bootstrap. –

+0

Non è una risposta utile, il collegamento dice solo come un tooltip dovrebbe comportarsi in modo accessibile e non come fare per far arrivare i bootstrap popover lì. –