Nella programmazione informatica, un widget (crasi di window, "finestra", e gadget) è un componente dell'interfaccia grafica di un programma, tramite il quale l'utente può interagire con il programma stesso.

Il termine fu applicato per la prima volta agli elementi dell'interfaccia utente durante il Project Athena negli anni ottanta del XX secolo. In italiano detto congegnoVedi IATE. (o elemento) grafico, può essere una vera e propria miniapplicazione (cfr. applet).

Caratteristiche

Microsoft usa il termine widget per indicare ciò che ai tempi di Windows Vista era denominato gadget: mini applicazioni delle quali l'utente può fruire dei contenuti direttamente in modalità visuale, attraverso un piccolo riquadro.

Tipici esempi di congegni sono i pulsanti dell'interfaccia grafica di un programma (che possono essere premuti per inviare comandi) o le checkbox usate per effettuare delle scelte fra varie opzioni disponibili. I widget sono spesso raggruppati in raccolte (toolkits) costruite e messe a disposizione dei programmatori in vari ambienti operativi proprio per facilitare la costruzione di interfacce operatore grafiche (GUI).

Spesso i widget sono racchiusi in speciali barre laterali, che consentono di scegliere quali widget visualizzare o semplicemente di organizzarli.

Tra i widget più noti e usati vi sono quelli di Windows Vista, denominati Gadget, quelli di Yahoo Widgets, quelli presenti in Mac OS, quelli per Windows Mobile 6.5 e quelli della piattaforma web CMS WordPress. I CMS hanno generalmente tutti dei plugin che creano widget personalizzabili. In alternativa si possono creare programmando in PHP o ASP.NET.

Tra quelli più usati ci sono quelli per rappresentazioni meteorologiche, per il monitoraggio dell'hardware (utilizzo CPU, RAM o HDD), per il controllo della posta o semplici collegamenti a cartelle presenti sul computer e news scorrevoli. I widget dello stesso tipo si distinguono principalmente per l'aspetto, piuttosto che per le caratteristiche.

Molti software in ambito professionale e business dispongono di widget specifici per lo scopo della singola tipologia di prodotto (ad esempio: CRM, ERP, BI e tantissimi altri).

Lista dei widget maggiormente diffusi Lista di widget di comando Command button Dock Menù Barra dei menù Menù a tendina Menù contestuale Ribbon Tree view di dialogo About box Alert box Finestra di dialogo di input Checkbox Combo box Lista a casacata List box Radio button Slider Spinner Text box di navigazione Barra degli indirizzi Barra di scorrimento Breadcrumb Tab di output Barra di stato Etichetta Progress bar Tooltip

Esempi web Widget di invio mail HTML-SVG-CSS:<a href="mailto:[email protected]" target="_blank" style=" position: fixed; bottom: 10px; right: 10px; background-color: #1E88E5; width: 70px; height: 70px; border-radius: 50%; text-align: center;"> <span style="position: absolute; top: -9999px; left: -9999px;"> Contattaci </span> <svg width="40" height="40" viewBox="0 0 24 24" fill="white" style="position: relative; top: 14px;"> <path d="M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4M12,11L20,6H4L12,11M4,18H20V8.37L12,13.36L4,8.37V18Z"></path> </svg> </a>Esempio di checkbox:<p>Scegli:</p>

<div> <input type="checkbox" id="scales" name="scales" checked> <label for="scales">Scales</label> </div>

<div> <input type="checkbox" id="horns" name="horns"> <label for="horns">Horns</label> </div>

Attributi WAI ARIA per l'accessibilità dei widget

WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) è un insieme di documenti pubblicati dal W3C (World Wide Web Consortium) che specificano come aumentare l'accessibilità dei contenuti dinamici e dei componenti per l'interfaccia utente sviluppati con AJAX, HTML, JavaScript e altre tecnologie collegate

aria-autocomplete aria-checked aria-disabled aria-errormessage aria-expanded aria-haspopup aria-hidden aria-invalid aria-label aria-level aria-modal aria-multiline aria-multiselectable aria-orientation aria-placeholder aria-pressed aria-readonly aria-required aria-selected aria-sort aria-valuemax aria-valuemin aria-valuenow aria-valuetext

Note

Voci correlate Barra degli strumenti

Altri progetti

Collegamenti esterni

Categoria:Interazione uomo-computer