Conversation
Co-authored-by: ormidales <46538211+ormidales@users.noreply.github.com>
Co-authored-by: ormidales <46538211+ormidales@users.noreply.github.com>
browser.storage.sync.get
There was a problem hiding this comment.
Pull request overview
Cette PR améliore l’UX de la popup en affichant immédiatement un état transitoire pendant la latence de browser.storage.sync.get, jusqu’au premier rendu effectif de renderList.
Changes:
- Ajout d’un placeholder “Chargement...” dans
ul#domain-listau chargement initial. - Ajout d’une sémantique d’annonce via
role="status"sur l’élément placeholder.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <button id="add-domain" type="button">Ajouter le domaine courant</button> | ||
| <div id="status" aria-live="polite"></div> | ||
| <ul id="domain-list"></ul> | ||
| <ul id="domain-list"><li class="empty-state" role="status">Chargement...</li></ul> |
There was a problem hiding this comment.
role="status" sur un <li> risque d’être invalide (le rôle implicite de li est listitem, et ARIA-in-HTML restreint généralement les rôles autorisés). Ça peut casser la sémantique de liste pour les lecteurs d’écran. Préférer conserver le <li> sans role et utiliser plutôt un live region via aria-live="polite" (sur #status existant ou sur ul#domain-list), ou déplacer l’élément role="status" hors de la liste.
| <ul id="domain-list"><li class="empty-state" role="status">Chargement...</li></ul> | |
| <ul id="domain-list"><li class="empty-state">Chargement...</li></ul> |
| <button id="add-domain" type="button">Ajouter le domaine courant</button> | ||
| <div id="status" aria-live="polite"></div> | ||
| <ul id="domain-list"></ul> | ||
| <ul id="domain-list"><li class="empty-state" role="status">Chargement...</li></ul> |
There was a problem hiding this comment.
Le <ul> et son <li> sont désormais sur une seule ligne, ce qui nuit à la lisibilité et complique les diffs. Mettre le <li> sur sa propre ligne (format identique au reste du fichier) rend le HTML plus maintenable.
| <ul id="domain-list"><li class="empty-state" role="status">Chargement...</li></ul> | |
| <ul id="domain-list"> | |
| <li class="empty-state" role="status">Chargement...</li> | |
| </ul> |
L’ouverture de la popup pouvait afficher une liste vide/statique pendant la latence de
browser.storage.sync.get, sans feedback utilisateur. Cette PR ajoute un état visuel immédiat jusqu’au premier rendu effectif derenderList.Contexte du correctif
Changement apporté (minimal)
ul#domain-listdirectement danspopup.html:Chargement...role="status"popup.js: le placeholder est naturellement remplacé au premierrenderList(la liste est vidée puis reconstruite).Extrait
Impact fonctionnel
Screenshot
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.