Procedure da evitare per l'accessibilitàAccessibility practices to avoid

Se si vuole creare un'app di Windows accessibile, vedere questo elenco di procedure da evitare:If you want to create an accessible Windows app, see this list of practices to avoid:

  • Evita di generare elementi dell'interfaccia utente personalizzati se puoi usare i controlli Windows predefiniti o i controlli che hanno già implementato il supporto di Automazione interfaccia utente Microsoft.Avoid building custom UI elements if you can use the default Windows controls or controls that have already implemented Microsoft UI Automation support. I controlli Windows standard sono accessibili per impostazione predefinita e in genere richiedono solo l'aggiunta di alcuni attributi di accessibilità specifici dell'app.Standard Windows controls are accessible by default and usually require adding only a few accessibility attributes that are app-specific. L'implementazione del supporto AutomationPeer per un controllo completamente personalizzato è invece un po' più complicata (vedi Peer di automazione personalizzati).In contrast, implementing the AutomationPeer support for a true custom control is somewhat more involved (see Custom automation peers).

  • Non inserire testo statico o altri elementi non interattivi nell'ordine di tabulazione, ad esempio impostando la proprietà TabIndex per un elemento non interattivo.Don't put static text or other non-interactive elements into the tab order (for example, by setting the TabIndex property for an element that is not interactive). La presenza di elementi non interattivi nell'ordine di tabulazione è contro le linee guida per l'accessibilità da tastiera perché riduce l'efficienza dell'esplorazione tramite tastiera.If non-interactive elements are in the tab order, that is against keyboard accessibility guidelines because it decreases efficiency of keyboard navigation for users. Molti strumenti di Assistive Technology usano l'ordine di tabulazione e la possibilità di impostare lo stato attivo su un elemento nell'ambito della relativa logica in merito alle modalità di presentazione dell'interfaccia di un'app per l'utente di strumenti di Assistive Technology.Many assistive technologies use tab order and the ability to focus an element as part of their logic for how to present an app's interface to the assistive technology user. Gli elementi di solo testo nell'ordine di tabulazione possono confondere l'utente, che si aspetta di trovare solo elementi interattivi nell'ordine di tabulazione, come pulsanti, caselle di controllo, campi di input di testo, caselle combinate, elenchi e così via.Text-only elements in the tab order can confuse users who expect only interactive elements in the tab order (buttons, check boxes, text input fields, combo boxes, lists, and so on).

  • Evita di usare il posizionamento assoluto degli elementi di interfaccia utente (come in un elemento Canvas) perché l'ordine di presentazione è spesso diverso dall'ordine di dichiarazione dell'elemento figlio (che rappresenta l'ordine logico de facto).Avoid using absolute positioning of UI elements (such as in a Canvas element) because the presentation order often differs from the child element declaration order (which is the de facto logical order). Laddove possibile disponi gli elementi dell'interfaccia utente secondo l'ordine del documento o un ordine logico, così da consentire alle utilità per la lettura dello schermo di leggerli nell'ordine corretto.Whenever possible, arrange UI elements in document or logical order to ensure that screen readers can read those elements in the correct order. Se l'ordine visibile degli elementi dell'interfaccia utente può divergere dal documento o dall'ordine logico, usare i valori di indice di tabulazione espliciti (set TabIndex) per definire l'ordine di lettura corretto.If the visible order of UI elements can diverge from the document or logical order, use explicit tab index values (set TabIndex) to define the correct reading order.

  • Non limitarti a usare solo i colori per veicolare le informazioni.Don’t use color as the only way to convey information. Affidandoti solo ai colori, ad esempio per gli indicatori di stato, non trasmetterai le informazioni corrette agli utenti daltonici.Users who are color blind cannot receive information that is conveyed only through color, such as in a color status indicator. Inserisci altri riferimenti visivi, preferibilmente testuali, per rendere le informazioni accessibili a tutti.Include other visual cues, preferably text, to ensure that information is accessible.

  • Non impostare l'aggiornamento automatico dell'intero canvas a meno che non sia realmente necessario per la funzionalità dell'app.Don’t automatically refresh an entire app canvas unless it is really necessary for app functionality. Se il contenuto di una pagina deve essere aggiornato automaticamente, fai in modo che si aggiornino solo aree specifiche della pagina.If you need to automatically refresh page content, update only certain areas of the page. In genere gli strumenti di Assistive Technology presuppongono che il canvas di un'app aggiornato sia una struttura totalmente nuova, anche se le modifiche effettive sono minime.Assistive technologies generally must assume that a refreshed app canvas is a totally new structure, even if the effective changes were minimal. Lo svantaggio per l'utente di assistive technology è che ora qualsiasi visualizzazione dei documenti o descrizione dell'app aggiornata deve essere ricreata e ripresentata all'utente.The cost of this to the assistive technology user is that any document view or description of the refreshed app now must be recreated and presented to the user again.

    Un'azione volontaria di spostamento tra le pagine avviata dall'utente è uno dei casi in cui l'aggiornamento della struttura dell'app è legittimo.A deliberate page navigation that is initiated by the user is a legitimate case for refreshing the app's structure. Assicurati però che l'elemento dell'interfaccia utente che avvia lo spostamento sia correttamente identificato o denominato in modo da segnalare che richiamandolo si determinerà un cambiamento del contesto e il ricaricamento della pagina.But make sure that the UI item that initiates the navigation is correctly identified or named to give some indication that invoking it will result in a context change and page reload.

    Nota

    Se esegui l'aggiornamento del contenuto in un'area, prova a impostare la proprietà di accessibilità AccessibilityProperties.LiveSetting per quell'elemento su una delle impostazioni non predefinite, Polite o Assertive.If you do refresh content within a region, consider setting the AccessibilityProperties.LiveSetting accessibility property on that element to one of the non-default settings Polite or Assertive. Alcuni strumenti di assistive technology sono in grado di mappare questa impostazione al concetto Accessible Rich Internet Applications (ARIA) di aree dinamiche per informare l'utente che un'area di contenuto ha subito modifiche.Some assistive technologies can map this setting to the Accessible Rich Internet Applications (ARIA) concept of live regions and can thus inform the user that a region of content has changed.

  • Non usare elementi dell'interfaccia utente che lampeggiano più di tre volte al secondo.Don’t use UI elements that flash more than three times per second. Gli elementi lampeggianti possono provocare attacchi epilettici nei soggetti predisposti.Flashing elements can cause some people to have seizures. È meglio evitare di usare elementi dell'interfaccia utente che lampeggiano.It is best to avoid using UI elements that flash.

  • Non cambiare in modo automatico le funzionalità relative a contesto e attivazione.Don’t change user context or activate functionality automatically. I cambi di contesto o di attivazione devono avvenire solo quando l'utente interviene direttamente su un elemento dell'interfaccia con stato attivo.Context or activation changes should occur only when the user takes a direct action on a UI element that has focus. Sono definiti cambi di contesto, ad esempio, lo spostamento dello stato attivo su un altro elemento, la visualizzazione di nuovi contenuti e il passaggio a un'altra pagina.Changes in user context include changing focus, displaying new content, and navigating to a different page. Se questi cambi di contesto avvengono senza il coinvolgimento diretto dell'utente, una persona con disabilità potrebbe disorientarsi.Making context changes without involving the user can be disorienting for users who have disabilities. Fanno eccezione a questa regola la visualizzazione dei sottomenu, la visualizzazione del testo della Guida in un altro controllo e il cambio di contesto in risposta a un evento asincrono.The exceptions to this requirement include displaying submenus, validating forms, displaying help text in another control, and changing context in response to an asynchronous event.