Porównanie z 2021 r.: wyeliminowanie 5 najważniejszych problemów ze zgodnością w internecie

Google współpracuje z innymi dostawcami przeglądarek i partnerami branżowymi, aby rozwiązać 5 najczęstszych problemów ze zgodnością przeglądarek dla programistów stron internetowych: CSS flexbox, CSS Grid, position: sticky, aspect-ratio i przekształcenia CSS.

Google współpracuje z innymi dostawcami przeglądarek i partnerami branżowymi, aby rozwiązać 5 najważniejszych problemów ze zgodnością przeglądarek dla programistów stron internetowych. Omawiane obszary to CSS Flexbox, CSS Grid, position: sticky, aspect-ratio i transformacje CSS. Przeczytaj artykuł Jak możesz pomóc i śledzić wskazówki, aby dowiedzieć się, jak się zaangażować.

Wprowadzenie

Zgodność stron w internecie zawsze stanowiło duże wyzwanie dla programistów. W ciągu ostatnich kilku lat Google i inni partnerzy, w tym Mozilla i Microsoft, postanowili dowiedzieć się więcej o najważniejszych problemach dla programistów stron internetowych, aby usprawnić naszą pracę i nadać im priorytety w celu poprawy sytuacji na rynku. Ten projekt jest powiązany z pracą Google Developer Satisfaction (DevSAT), a rozpoczęto na szerszą skalę dzięki opracowaniu w 2019 i 2020 roku ankiet MDN DNA (Developer Needs Assessment) oraz szczegółowych badań zamieszczonych w raporcie zgodności z przeglądarkami MDN z 2020 r. Przeprowadzono dodatkowe badania przy użyciu różnych kanałów, np. ankiety State of CSS i State of JS.

W 2021 roku chcemy wyeliminować problemy ze zgodnością przeglądarek w 5 głównych obszarach, aby deweloperzy mogli spokojnie korzystać z tych rozwiązań. Takie działanie nosi nazwę #Compat 2021.

Wybór treści, na których chcesz się skupić

Chociaż na całej platformie internetowej występują problemy ze zgodnością przeglądarek, skupiamy się na niewielkiej liczbie najbardziej problematycznych obszarów, które można znacznie poprawić, dlatego nie są one głównym problemem dla deweloperów.

Projekt dotyczący zgodności wykorzystuje wiele kryteriów wpływających na to, które obszary należy traktować priorytetowo. Oto niektóre z nich:

5 głównych obszarów, na które należy się skupić w 2021 roku

W 2020 roku zaczęliśmy pracować nad najważniejszymi obszarami opisanymi w artykule Poprawa zgodności przeglądarek Chromium w 2020 roku. W 2021 roku zaczniemy podejmować kolejne działania. Google i Microsoft pracują razem nad rozwiązaniem najważniejszych problemów w Chromium, a także nad Igalią. Igalia, która regularnie współpracuje z Chromium i WebKit oraz jest opiekunem oficjalnego portu WebKit dla urządzeń osadzonych, bardzo wspiera i angażuje się w działania w zakresie zgodności oraz pomaga w rozwiązywaniu i śledzeniu wykrytych problemów.

Oto obszary, które zobowiązano się naprawić w 2021 roku.

CSS Flexbox

Platforma CSS Flexbox jest powszechnie używana w internecie, ale nadal wiążą się z tym poważne wyzwania dla deweloperów. Na przykład w Chromium i w narzędziu WebKit wystąpiły problemy z elastycznymi kontenerami auto-height, które prowadziły do nieprawidłowych rozmiarów obrazów.

Rozciągnięte zdjęcie szachownicy.
Obraz ma niewłaściwy rozmiar z powodu błędów.
Szachownica.
Rozmiar obrazu jest prawidłowy.
Fot.Alireza Mahmoudi

W poście na blogu Igalia „flexbox Cats” znajdziesz więcej przykładów, które szczegółowo opisują te problemy.

Dlaczego to priorytetowe

Siatka CSS

Siatka CSS jest podstawowym elementem nowoczesnych układów internetowych, który zastępuje wiele starszych technik i obejść. Wraz ze wzrostem rozpowszechnienia tej technologii musimy mieć pewność, że różnice między przeglądarkami będą ugruntowane, tak aby różnice między przeglądarkami nigdy nie były powodem do ich unikania. Brakuje też możliwości animowania układów siatki obsługiwanych w Gecko, ale nie w Chromium i WebKit. O ile ta funkcja jest obsługiwana, można uzyskać takie efekty:

Animowana prezentacja szachów od Chena Hui Jinga.

Dlaczego to priorytetowe

Pozycja CSS: przyklejona

Przyklejone pozycjonowanie umożliwia treści przyleganie do krawędzi widocznego obszaru i jest często stosowane w przypadku nagłówków, które są zawsze widoczne u góry widocznego obszaru. Funkcja ta jest obsługiwana we wszystkich przeglądarkach, ale w niektórych przypadkach często nie działa zgodnie z oczekiwaniami. Na przykład Chromium nie obsługuje przyklejonych nagłówków tabel i chociaż teraz obsługuje je flagą, wyniki są niespójne w różnych przeglądarkach:

Chromium z funkcją „TablesNG”
Gecko
WebKit

Obejrzyj prezentację nagłówków tabel przyklejonych autorstwa Roba Flacka.

Dlaczego to priorytetowe

Właściwość współczynnika proporcji CSS

Nowa właściwość CSS aspect-ratio ułatwia utrzymanie stałego stosunku szerokości do wysokości elementów, eliminując potrzebę stosowania znanego hakowania padding-top:

Stosowanie dopełnienia-topu
.container {
  width: 100%;
  padding-top: 56.25%;
}
Korzystanie ze współczynnika proporcji
.container {
  width: 100%;
  aspect-ratio: 16 / 9;
}

Ponieważ jest to dość powszechny przypadek użycia, powinien stać się powszechnie stosowany, dlatego chcemy zadbać o jego zastosowanie we wszystkich typowych scenariuszach i w różnych przeglądarkach.

Dlaczego to priorytetowe

  • Ankiety: są już dobrze znane, ale jeszcze nie są powszechnie wykorzystywane w ramach stanu CSS
  • Testy: zaliczenie 27% we wszystkich przeglądarkach
  • Wykorzystanie: 3% i spodziewany wzrost

Przekształcenia CSS

Przekształcenia CSS są obsługiwane we wszystkich przeglądarkach od wielu lat i są powszechnie stosowane w internecie. W wielu przeglądarkach nie działają one jednak tak samo, zwłaszcza w przypadku animacji i przekształceń 3D. Na przykład efekt odwrócenia karty może być bardzo niespójny w różnych przeglądarkach:

Efekt odwracania karty w Chromium (po lewej), gekonu (pośrodku) i WebKit (po prawej). Demonstracja autorstwa Davida Barona z komentarza do błędu.

Dlaczego to priorytetowe

  • Ankiety: bardzo znane i używane w narzędziu Stan CSS
  • Testy: uzyskanie 55% we wszystkich przeglądarkach
  • Wykorzystanie: 80%

Jak możesz współtworzyć i śledzić artykuły

Obserwuj i udostępniaj informacje o nowościach, które publikujemy na @ChromiumDev lub na publicznej liście adresowej Compat 2021. Sprawdź, czy występują błędy, lub zgłoś je w razie problemów, które napotykasz. Jeśli czegoś brakuje, skontaktuj się z nami, korzystając z powyższych kanałów.

Postępy w postępach będą regularnie pojawiać się na web.dev. Postępy w poszczególnych obszarach działalności możesz też obserwować w panelu porównawczym 2021.

Panel Compat 2021
Panel Compat 2021 (zrzut ekranu z 16 listopada 2021 r.).

Mamy nadzieję, że wspólne wysiłki podejmowane przez dostawców przeglądarek na potrzeby poprawy niezawodności i interoperacyjności ułatwią tworzenie niesamowitych rzeczy w internecie.