Etichette galleggianti finite e punteggi del faro verde

Pubblicato: 2022-03-10
Riassunto veloce ↬ Ti chiedi cosa sta succedendo a Smashing? Bene, siamo stati impegnati. Ecco una piccola storia di come abbiamo rimosso le etichette mobili, migliorato il rendimento sui dispositivi mobili e lanciato una nuova serie di articoli. Oh, e anche tu come puoi contribuire a Smashing.

C'è sempre qualcosa che accade dietro le quinte di Smashing. Negli ultimi mesi, abbiamo lavorato continuamente alle prestazioni del sito, ma abbiamo anche rimosso le etichette mobili dai nostri moduli, riprogettato i nostri messaggi di errore, rinnovato il nostro dashboard di appartenenza, rifattorizzato e modificato le nostre tabelle reattive e lavorato con nuove autori su una serie di nuovi articoli che verranno pubblicati sul sito nei prossimi mesi. Quindi, ecco il tuo aggiornamento mensile di Smashing.

Le etichette fluttuanti sono sparite

Dopo aver pubblicato il pezzo di Adam Silver sul motivo per cui le etichette fluttuanti sono una cattiva idea, abbiamo assistito a un'enorme discussione su Twitter e nei commenti su di esse. Sicuramente puoi risparmiare un po 'di spazio verticale con loro, ma il costo ha molti problemi di accessibilità e riempimento automatico . Ironia della sorte, al momento della pubblicazione di quell'articolo alla fine di febbraio, avevamo ancora etichette mobili utilizzate nella maggior parte dei nostri moduli e volevamo scoprire se rimuoverle ci avrebbe effettivamente aiutato a migliorare l'esperienza complessiva sul sito.

Uno screenshot della pagina di accesso su Smashing Magazine, che mostra i problemi affrontati con etichette mobili e riempimento automatico
Con le etichette mobili, abbiamo riscontrato gli stessi problemi con il riempimento automatico, più e più volte. (Grande anteprima)

Quindi abbiamo rimosso le etichette mobili e ridisegnato i campi di input, posizionando le etichette sopra il campo di input, proprio come ha suggerito Adam. Abbiamo anche sfruttato l'opportunità per aggiungere alcune sottili modifiche alle nostre forme effettive e ci stiamo ancora lavorando. Ma il risultato sembrava già migliore.

Uno screengrab della stessa pagina dei segni di cui sopra ma senza etichette mobili in uso
Nessuna etichetta mobile in uso. Anche il valore di riempimento automatico sembra a posto! (Grande anteprima)

Dopo alcuni giorni di perfezionamenti, ci siamo imbattuti in problemi di stile con il riempimento automatico . Volevamo regolare la dimensione del carattere e il carattere utilizzato con il riempimento automatico con la pseudo-classe CSS :-webkit-autofill — corrisponde quando un elemento <input> ha il suo valore compilato automaticamente dal browser — ma non è supportato in un gamma di browser e francamente ha causato un bel po' di problemi quando un valore compilato automaticamente viene convalidato una volta che il visitatore lascia un campo di input.

In effetti, abbiamo dovuto esaminare vari casi per la progettazione del modulo:

  • Cosa succede quando non vengono forniti dati ?
  • Cosa succede quando recuperiamo i dati da localStorage e li colleghiamo automaticamente ai campi di input, ma la compilazione automatica non è stata attivata?
  • Cosa succede quando alcuni valori vengono compilati automaticamente , ma altri no?
  • Cosa succede con la convalida in linea e quando convalidiamo?
  • Cosa succede se alcuni campi di input compilati automaticamente contengono errori ?
  • Come dovrebbero apparire i valori di input su :active e su :focus ?

Francamente, questa si è rivelata una vera tana del coniglio e al momento stiamo ancora esaminando tutti questi problemi. Dato che la stragrande maggioranza dei nostri lettori - persone meravigliose come te - utilizza il riempimento automatico, vale la pena dedicare del tempo a progettare un'esperienza attorno ad esso.

Uno screenshot dei dettagli del cliente e del modulo di compilazione dell'indirizzo di acquisto creato senza etichette mobili
Moduli Web ridisegnati, con alcune sottili modifiche e senza etichette mobili. (Grande anteprima)

Dopo un po' di perfezionamenti, circa 2 settimane dopo la pubblicazione dell'articolo iniziale di Adam, abbiamo inviato le modifiche in tempo reale. Siamo riusciti a risolvere molti problemi di accessibilità e layout sui dispositivi mobili semplicemente rimuovendo le etichette mobili. Ma non possiamo ancora dire se abbia avuto un impatto sulle metriche aziendali: beh, dovremo aspettare l'uscita di un grande libro per vederlo.

Punteggi verdi in Lighthouse sul cellulare

Lavorare per migliorare le prestazioni è stato un viaggio in corso su SmashingMag per un po'. Alla fine dello scorso anno, abbiamo notato che nel 2020 abbiamo assistito a un calo delle prestazioni, quindi ci siamo rimboccati le maniche e ci siamo messi al lavoro. Modificando la consegna di CSS e JavaScript siamo arrivati ​​nell'area verde del punteggio per la maggior parte delle pagine del sito in visualizzazione desktop; tuttavia le prestazioni sui dispositivi mobili sono state ancora piuttosto basse , con una media tra i punteggi di Lighthouse di 60-70 per la maggior parte degli articoli.

La richiesta finale per un'ottimizzazione più aggressiva è stata la dashboard "Core Web Vitals" in Google Search Console. Il 19 febbraio, oltre 3590 articoli sono stati segnalati con un punteggio CLS scarso (>0,25) — su desktop e su dispositivi mobili. Inizialmente abbiamo pensato che potesse essere correlato alle modifiche al banner dei cookie che abbiamo apportato di recente, ma si è scoperto che si trattava di un aggiornamento della ricerca di Google che sembrava penalizzarci in modo più aggressivo per un CLS elevato.

Uno screenshot di un rapporto che mostra URL scadenti che devono essere migliorati e URL validi dal DEC 2020 fino a marzo 2021
Il 19 febbraio la maggior parte dei nostri articoli è finita in zona rossa. (Grande anteprima)
Risultato scadente che mostra 3.59K
Oltre 3590 articoli, tutti contrassegnati come pagine con scarso rendimento, nonostante tutti i nostri miglioramenti nel corso dei mesi. (Grande anteprima)

Quindi ci siamo rivolti a Twitter per chiedere alla community se qualcuno avesse altri suggerimenti su cosa potevamo fare. Il feedback è stato fantastico da parte di persone di tutto il mondo, con alcune recensioni approfondite inviate tramite i DM di Twiter e pensieri generali da parte di persone su cosa potremmo fare.

Patrick Meenan ha suggerito di ritardare l'installazione del service worker, che abbiamo implementato lo stesso giorno. Apparentemente, l'operatore di servizio stava installando e attivando prima di LCP e stava causando contese.

Gael Metais ha suggerito di sottoimpostare in modo più aggressivo i caratteri Web e di esaminare i problemi di memorizzazione nella cache con i nostri file AVIF. Il giorno successivo abbiamo subimpostato i caratteri e li abbiamo trasmessi dal vivo. Non siamo riusciti a risolvere rapidamente il problema dell'AVIF a causa del modo in cui è attualmente in esecuzione la gestione dei media, ma poi Barry Pollard ha suggerito di verificare se l'utilizzo della codifica base64 per le immagini sarebbe d'aiuto.

La codifica Base64 sembrava un concetto un po' strano nel mondo di HTTP/2, ma abbiamo deciso di costruire un piccolo prototipo per verificare se aiuta. Allora, vero? Oh sì, sicuramente l'ha fatto.

Siamo rimasti molto sorpresi dai primi risultati. Dopo alcune iterazioni, abbiamo finito per servire le nostre foto del profilo dell'autore LCP in un modo leggermente contorto ma abbastanza efficace:

 <picture> <source type="image/avif"> <img src="https://.../author.jpg" loading="eager" decoding="async" width="200" height="200" alt=""> </picture>
  • Se un browser supporta AVIF, ottiene una stringa con codifica base64 dell'immagine AVIF (nessuna richiesta del browser).
  • Se un browser non supporta AVIF, ottiene un file JPEG (memorizzato correttamente nella cache),
  • La negoziazione del contenuto avviene tramite <picture> + srcset nel browser.

Questo funzionerebbe solo per le foto del profilo dell'autore LCP sulla home page e sulle pagine degli articoli. Al momento, circa il 35% del nostro traffico mobile è su iOS , quindi quegli utenti non otterrebbero le immagini più velocemente, ma codificare solo un'immagine JPEG di grandi dimensioni o codificare sia file AVIF che JPEG rigonfierebbe inutilmente l'HTML che volevamo evitare.

Abbiamo quindi adattato la nostra build per generare automaticamente stringhe base64 per i file AVIF durante il tempo di compilazione (se le immagini dell'autore sono disponibili come immagini AVIF). Questo ci rende anche facile rimuoverlo quando non ne abbiamo più bisogno.

Inoltre, abbiamo rimosso duplicati e ridondanze con YellowLab.Tools, rifattorizzato alcuni CSS in base ai report degli strumenti di controllo CSS e modificato la nostra configurazione dell'elenco browser per ridurre le ottimizzazioni per IE10 e IE11.

Uno screenshot di un risultato di PageSpeed ​​Insights che mostra un punteggio verde su dispositivo mobile (per la home page e per le pagine dell'articolo)
Punteggio verde su mobile, per la homepage e per le pagine degli articoli. (Grande anteprima)

Complessivamente abbiamo:

  • ridotto del 38% il carico utile dei font web,
  • ridotto del 14% la dimensione dei CSS critici,
  • ridotto dell'8% le dimensioni dei file JS,
  • (probabilmente) ha aumentato la dimensione dell'HTML di circa l'1%,

L'impatto è stato abbastanza evidente! Per la prima volta da anni, siamo riusciti a raggiungere la zona di punteggio verde di 90–95 su dispositivi mobili , mentre abbiamo anche fatto il giro di 96–100 su desktop . E questo con un'applicazione React in esecuzione in background e molti script che si verificano dietro le quinte.

C'è ancora un bel po' di lavoro da fare, specialmente nel mondo JavaScript, ma sembriamo essere sulla strada giusta, inoltre stiamo per implementare f-mod con il gentile e generoso aiuto di Simon Hearne.

E la cosa migliore: tutto il merito va all'incredibile comunità e alle persone generose, appassionate e gentili che ci hanno inviato suggerimenti e indicazioni tramite Twitter. Per questo, siamo molto grati: questa è la vera forza e gentilezza delle persone nella comunità. Grazie! ️

Nuova serie di articoli su Smashing

Tuttavia, eravamo impegnati non solo con le prestazioni e le ottimizzazioni dell'esperienza utente. Probabilmente visiti il ​​sito a causa degli articoli che pubblichiamo e quindi abbiamo sperimentato qualcosa di nuovo.

A marzo abbiamo iniziato a lavorare a una nuova serie di articoli dedicati a strumenti e risorse che possono aiutarti come designer o sviluppatore a migliorare il tuo lavoro. Potresti vederli come dei buoni riepiloghi vecchio stile, ma ci prendiamo del tempo per preparare i pezzi con i puntatori che puoi usare ogni tanto nel tempo .

Un esempio che mostra una cella organica con raggio di confine
Una panoramica dei generatori CSS, recentemente pubblicata qui su SmashingMag. In azione: una cellula organica a raggio di confine.

Abbiamo iniziato con gli strumenti sui CSS, ma aspettatevi pezzi più simili su tutto il resto del front-end. Speriamo di tenervi all'erta con loro, quindi preparatevi! Ed ecco i primi articoli che abbiamo pubblicato finora:

  • Strumenti di controllo CSS
  • Generatori CSS

Abbiamo anche contattato per invitare nuovi autori e persone intelligenti come te a lavorare su casi di studio interessanti dai tuoi progetti in corso. Quindi, contattaci se di recente hai lavorato a un progetto interessante e stimolante, che si tratti di accessibilità, CSS/JS, prestazioni, migrazione, refactoring o praticamente qualsiasi altra cosa. Nessun problema se non hai mai scritto prima: siamo qui per aiutarti e guidarti.

Inoltre, se hai rilasciato uno strumento open source e vorresti attirare più attenzione su di esso, faccelo sapere anche a noi e ci piacerebbe che tu presentassi il tuo progetto anche qui nella rivista. E, naturalmente, se hai qualche feedback, lascia i commenti qui e facci sapere cosa ne pensi!

Nuovi seminari online su Smashing

Fantastici seminari online Quasi un anno fa, abbiamo iniziato a gestire i nostri workshop online e ognuno di loro è stata un'esperienza incredibile per tutto il nostro team. Con meravigliosi partecipanti provenienti da tutto il mondo che si uniscono per imparare insieme, tante idee hanno preso vita, specialmente nelle sessioni di progettazione e programmazione dal vivo.

Ecco una breve panoramica dei workshop che abbiamo programmato per i prossimi mesi :

Date Officina Relatore Argomento
30–31 marzo Progettare la navigazione perfetta Vitaly Friedman UX, Design
8–16 aprile Architettura dei sistemi di progettazione Nathan Curtis e Kevin Powell Flusso di lavoro e codice
20 aprile – 5 maggio Prestazioni Web Harry Roberts Flusso di lavoro, codice
22 aprile – 6 maggio Modelli di progettazione dell'interfaccia intelligente Vitaly Friedman UX, Design
3–11 maggio Fai in modo che i sistemi di progettazione che le persone vogliano utilizzare Dan Mall Flusso di lavoro, codice
6–14 maggio Psicologia per UX e Product Design Joe Leech UX, Design
20 maggio – 4 giugno La performance di reazione Ivan Akulov Flusso di lavoro, codice
25 maggio – 8 giugno CSS dinamico Lea Verou Flusso di lavoro, codice
9–23 giugno Nuove avventure nel front-end 2021 Vitaly Friedman Flusso di lavoro, codice
8–22 luglio Sali di livello con i CSS moderni Stephanie Eckles Flusso di lavoro, codice

Ah, abbiamo anche pacchetti di workshop da cui puoi scegliere 3, 5 o anche 10 biglietti per i workshop di tua scelta: in corso, imminenti o futuri. Inoltre, sentiti libero di iscriverti qui se desideri essere il primo a ricevere una notifica quando si presentano nuovi workshop. Inoltre, hai anche accesso ai biglietti per prenotazioni anticipate .

Rovescia la Smashing Mascot mentre partecipa a un evento virtuale con altri fantastici gatti online
Tutti sono amichevoli e gentili a Smashing Online Workshops, non importa dove ci troviamo tutti nel mondo! (Grande anteprima)

Il nostro incontro gratuito:: Unisciti agli Smashing Meets!

Smashing Meets il 27 aprile 2021 Il 27 aprile puoi unirti a noi in diretta su Smashing Meets, un incontro online amichevole e inclusivo per le persone che lavorano sul web. Questa edizione " Le azioni parlano più forte" include tre fantastiche sessioni in cui i nostri esperti progetteranno e codificheranno dal vivo, per aiutare una straordinaria ONG a ottenere un sito migliore.

Smashing Meets è gratuito per tutti, quindi dì ai tuoi amici e colleghi di partecipare! Naturalmente, ci piacerebbe se ti unissi alla nostra community e diventassi un membro. Un abbonamento Smashing parte da soli 3 USD al mese. Puoi accedere a tutti gli Smashing Books digitali, ai webinar e ricevere molti omaggi e sconti amichevoli su eventi, servizi e prodotti.

Podcast strepitoso: sintonizzati e lasciati ispirare

L'anno scorso, abbiamo pubblicato un nuovo episodio di Smashing Podcast ogni due settimane e il feedback è stato fantastico ! Con oltre 56.000 download (poco più di un migliaio a settimana, e in crescita!), abbiamo avuto 34 ospiti sul podcast con background diversi e così tanto da condividere!

Se non vedi un argomento che vorresti ascoltare e su cui vorresti saperne di più, non esitare a contattare l'ospite Drew McLellan o a metterti in contatto tramite Twitter in qualsiasi momento: ci piacerebbe avere tue notizie!

1. Che cos'è la direzione artistica? 2. Cosa c'è di così bello nel freelance?
3. Cosa sono i token di progettazione? 4. Cosa sono i componenti inclusi?
5. Cosa sono i caratteri variabili? 6. Cosa sono i micro-frontend?
7. Che cos'è un sistema di progettazione del governo? 8. Cosa c'è di nuovo in Microsoft Edge?
9. Come posso lavorare con i framework dell'interfaccia utente? 10. Che cos'è il design etico?
11. Che cos'è Sourcebit? 12. Che cos'è l'ottimizzazione delle conversioni?
13. Che cos'è la privacy online? 14. Come posso organizzare seminari online?
15. Come posso creare un'app in 10 giorni? 16. Come posso ottimizzare il mio spazio di lavoro domestico?
17. Cosa c'è di nuovo in Drupal 9? 18. Come posso imparare a reagire?
19. Che cos'è CUBE CSS? 20. Cos'è Gatsby?
21. Le migliori pratiche moderne sono dannose per il Web? 22. Che cos'è il serverless?
23. Che cos'è Next.js? 24. Che cos'è l'animazione SVG?
25. Che cos'è RedwoodJS? 26. Cosa c'è di nuovo in Vue 3.0?
27. Che cos'è il dattiloscritto? 28. Che cos'è undici?
29. Come funziona Netlify Dogfood The Jamstack? 30. Che cos'è il design del prodotto?
31. Che cos'è GraphQL? 32. Recensione dell'anno 2020
33. Che cos'è l'apprendimento automatico? 34. Qual è lo stato delle prestazioni Web?
35. Quali sono le prospettive per i controlli HTML? Torneremo con la seconda stagione il 6 aprile!

E infine... la nostra amichevole newsletter per e-mail

Con la nostra Smashing Newsletter, miriamo a offrirti bocconcini utili e pratici e condividere alcune delle cose utili su cui le persone stanno lavorando nel settore del web. Ci sono così tante persone di talento là fuori che lavorano a progetti brillanti e ti saremmo grati se potessi aiutarci a spargere la voce e dare loro il merito che meritano! Inoltre, iscrivendoti, non ci sono invii di terze parti o pubblicità nascosta e il tuo supporto ci aiuta davvero a pagare le bollette. ️

JavaScript, bundler, framework

  • Qual è lo strumento di raggruppamento giusto?
  • Scegliere il framework JavaScript giusto
  • this contro that
  • Ricerca operatore JavaScript
  • Strategie per la migrazione a TypeScript
  • L'elenco di lettura dello sviluppatore JavaScript

Tecniche e strumenti CSS

  • Cosa significa 100%?
  • Le cose sorprendenti che i CSS possono animare
  • Creare casualità con Pure CSS
  • Costruire layout a una riga robusti e moderni
  • Controllo CSS
  • Selettori CSS avanzati
  • Migliorare il contrasto con una sovrapposizione

Produttività e-mail e riunioni

  • Recensioni di codici di codifica con scale di feedback
  • Trovare il tempo per ciò che conta davvero
  • Migliorare la posta elettronica
  • Sincronizza i temi dei colori per il tuo ambiente di sviluppo
  • Raccolta di feedback dai clienti
  • Come scrivere un annuncio di lavoro

Accessibilità front-end

  • Modali accessibili
  • Schede accessibili
  • Implementazione della navigazione da tastiera a livello di app
  • Trova e risolvi i problemi di accessibilità
  • Supporta le preferenze dell'utente con prefers-reduced-*
  • Completamento automatico accessibile
  • Rendere accessibili i collegamenti alle icone

Questo è un involucro!

Uff, grazie per aver letto tutto il percorso fino alla fine! Siamo un piccolo team con poco più di 15 persone appassionate e dedicate sparse in tutto il mondo e facciamo del nostro meglio per aiutare te e la nostra meravigliosa comunità a migliorare il nostro lavoro. Quindi grazie per essere rimasto così a lungo!

Francamente, non vediamo l'ora di vederti online e di persona, ma una cosa è certa: apprezziamo sinceramente che tu sia formidabile mese dopo mese, e per questo ti siamo eternamente grati. E, naturalmente, ti terremo aggiornato sui nostri aggiornamenti, di sicuro! ;-) (Ma puoi sempre iscriverti anche alla nostra newsletter!)

Restate strepitosi, tutti!