
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 congegno (o elemento) grafico, può essere una vera e propria miniapplicazione (cfr. applet).







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 di widget
Widget di invio mail HTML-SVG-CSS:
<a href="mailto:esempio@gmail.com" 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>
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-autocompletearia-checkedaria-disabledaria-errormessagearia-expandedaria-haspopuparia-hiddenaria-invalidaria-labelaria-levelaria-modalaria-multilinearia-multiselectablearia-orientationaria-placeholderaria-pressedaria-readonlyaria-requiredaria-selectedaria-sortaria-valuemaxaria-valueminaria-valuenowaria-valuetext