Acid3 - Acid3

Acid3
Acid3 reference.png
"Referencegengivelsen" for Acid3
Type websted
Webstandard test
Tilgængelig i engelsk
Ejer Den Web Standards Project
Lavet af Ian Hickson
URL acid3 .acidtests .org
Kommerciel Ingen
Registrering Ingen
Lanceret 3. marts 2008 ; 13 år siden ( 2008-03-03 )
Nuværende status Online

Den Acid3 test er en web testside fra Web Standards Project , at kontrollen en webbrowser 's overholdelse af elementer fra forskellige webstandarder , især Document Object Model (DOM) og JavaScript .

Hvis testen er vellykket, viser resultaterne af Acid3 -testen en gradvist stigende fraktionstæller under en række farvede rektangler. Antallet af beståede subtests angiver den procentdel, der vises på skærmen. Denne procentdel repræsenterer ikke en faktisk procentdel af overensstemmelse, da testen ikke rigtig holder styr på de subtests, der faktisk blev startet (100 antages). Desuden skal browseren også gengive siden nøjagtigt som referencesiden gengives i den samme browser. Ligesom teksten i Acid2 -testen er teksten i Acid3 -referencegengivelsen ikke en bitmap for at muliggøre visse forskelle i skrifttypegengivelse.

Acid3 var under udvikling fra april 2007 og udgivet den 3. marts 2008. Hovedudvikleren var Ian Hickson , en Google -medarbejder, der også skrev Acid2 -testen. Acid2 fokuserede primært på Cascading Style Sheets (CSS), men denne tredje Acid -test fokuserer også på teknologier, der bruges på stærkt interaktive websteder, der er karakteristiske for Web 2.0 , såsom ECMAScript og DOM Level 2 . Et par deltest vedrører også skalerbar vektorgrafik (SVG), udvideligt markeringssprog ( XML ) og data -URI'er . Den indeholder flere elementer fra CSS2 -anbefalingen , der senere blev fjernet i CSS2.1 , men genindført i World Wide Web Consortium (W3C) CSS3 -arbejdsudkast, der endnu ikke har nået kandidatens anbefalinger.

I april 2017 var de opdaterede specifikationer afvigende fra testen, således at de nyeste versioner af Google Chrome , Safari og Mozilla Firefox ikke længere består testen som skrevet. Hickson erkender, at nogle aspekter af testen var kontroversielle og har skrevet, at testen "ikke længere afspejler konsensus om de webstandarder, den påstås at teste, især når det kommer til spørgsmål, der påvirker mobile browsere".

Prøve

Hoveddelen af ​​Acid3 er skrevet i ECMAScript ( JavaScript ) og består af 100 subtests i seks grupper kaldet "buckets", herunder fire særlige subtests (0, 97, 98 og 99).

  • Spand 1: DOM Traversal, DOM Range, HTTP
  • Bucket 2: DOM2 Core og DOM2 Events
  • Bucket 3: DOM2 -visninger, DOM2 -stil, CSS 3 -vælgere og medieforespørgsler
  • Bucket 4: Opførsel af HTML -tabeller og -formularer, når de manipuleres med script og DOM2 HTML
  • Bucket 5: Test fra Acid3 -konkurrencen (SVG, HTML, SMIL , Unicode , ...)
  • Spand 6: ECMAScript

Overholdelseskriterierne kræver, at testen køres med en browsers standardindstillinger. Den endelige gengivelse skal have en 100/100 score og skal være pixel-identisk med referencegengivelsen. I browsere designet til personlige computere skal animationen også være glat (tager ikke mere end 33 ms for hver subtest på referencehardware svarende til en top-of-the-line Apple-bærbar computer ) også, selvom langsommere ydeevne på en langsom enhed gør det ikke indebærer manglende overensstemmelse.

Acid3 gengivet af Fennec 1.0 alfa 1. Skovle 2, 4 og 6 består alle 16 subtests, skovle 1 og 3 består mere end 10 subtests, mens skovl 5 passerer mere end 5 subtests.

For at bestå testen skal browseren også vise et generisk favicon i browserens værktøjslinje, ikke favicon -billedet fra Acid3 -webserveren. Acid3 -serveren giver efter anmodning favicon.icoen 404 -svarskode, men med billeddata i brødteksten. Dette tester, at webbrowseren håndterer 404 -fejlkoden korrekt, når favicon hentes ved at behandle dette som en fejl og i stedet vise det generiske ikon.

Når testen kører, føjes rektanglerne til det gengivne billede; antallet af subtest, der bestås i spanden, bestemmer farven på rektanglerne.

  • 0 subtests bestået: Der vises ikke noget rektangel.
  • 1–5 deltest bestået: Sort rektangel.
  • 6–10 deltest bestået: Gråt rektangel.
  • 11–15 deltest bestået: Sølv rektangel.
  • Alle 16 subtest bestået: Farvet rektangel (venstre til højre: rød, orange, gul, lime, blå, lilla).

Bemærk, at Acid3 ikke viser præcis, hvor mange subtests der er bestået i en spand. F.eks. Ville 3 deltest, der passerede og 4 deltest, der passerede i spand 2, begge gengive et sort rektangel.

Detaljerede resultater

Acid3 gengivet af Internet Explorer 8.0 (før opdateringen af Acid3 -testen i september 2011 ). 20/100, testen mislykkedes.

Når Acid3-testsiden er fuldstændig gengivet, kan der klikkes på bogstavet 'A' i ordet "Acid3" for at se en advarsel (eller skift-klik for et nyt vindue), der præcist forklarer, hvilke subtests der mislykkedes, og hvad fejlmeddelelsen var. Hvis en af ​​de 100 test bestod, men tog for meget tid, indeholder rapporten timingsresultater for den enkelte test. Advarslen rapporterer den samlede tid for hele Acid3 -testen.

Skærmbillede af Chromium 71, der kører Acid3 -testen fra december 2018.

For at gengive testen korrekt skal brugeragenter implementere CSS 3 -tekstskygger og CSS 2.x -skrifttyper, der kan downloades , og som i øjeblikket overvejes af W3C for at blive standardiseret. Dette er nødvendigt, da testen bruger et tilpasset TrueType skrifttype , kaldet "AcidAhemTest", for at dække over en 20x20 rød firkant. Understøttelse af Truetype -skrifttyper er imidlertid ikke påkrævet af CSS -specifikationen. En browser, der kun understøtter OpenType -skrifttyper med CFF -konturer eller integrerede OpenType -skrifttyper, kunne understøtte CSS -standarden, men mislykkedes testen i Acid3 -testen. Den glyf , når gengives af downloadede skrifttype, er blot en firkant, lavet hvid med CSS, og dermed usynlige.

Derudover bruger testen også Base64 -kodede billeder, nogle mere avancerede selektorer, CSS 3 farveværdier ( HSLA ) samt falske selektorer og værdier, der bør ignoreres.

Udvikling og gennemslagskraft

Google -medarbejder Ian Hickson begyndte at arbejde på testen i april 2007, men udviklingen skred langsomt frem. I december 2007 genstartede arbejdet, og projektet fik offentlig opmærksomhed den 10. januar 2008, da det blev nævnt i blogs af Anne van Kesteren . På det tidspunkt lå projektet på en URL, der tydeligt viste dets eksperimentelle karakter: "http://www.hixie.ch/tests/evil/acid/003/NOT_READY_PLEASE_DO_NOT_USE.html" På trods af meddelelsen i URL'en fik testen stor opmærksomhed i webudviklingssamfundet. På det tidspunkt var der kun udført 84 subtests, og den 14. januar annoncerede Ian Hickson en konkurrence om at udfylde de manglende 16.

Følgende udviklere bidrog til den sidste test gennem denne konkurrence:

  • Sylvain Pasche: subtests 66 og 67: DOM.
  • David Chan: deltest 68: UTF-16/UCS-2 .
  • Simon Pieters (Opera) og Anne van Kesteren (Opera): deltest 71: HTML -analyse.
  • Jonas Sicking (Mozilla) og Garrett Smith: deltest 72: dynamisk ændring af stilbloksers tekstnoder.
  • Jonas Sicking (Mozilla): deltest 73: Indlejrede begivenheder.
  • Erik Dahlström (Opera): subtests 74 til 78: SVG og SMIL.
  • Cameron McCormack ( Batik SVG -bibliotek): deltest 79: SVG -skrifttyper.

Selv før den officielle udgivelse var Acid3s indvirkning på browserudviklingen dramatisk. Især steg WebKits score fra 60 til 87 på mindre end en måned.

Testen blev officielt frigivet den 3. marts 2008. En vejledning og kommentar forventedes at følge inden for få måneder, men fra marts 2011 var kun kommentaren blevet frigivet. Meddelelsen om, at testen er fuldført, betyder kun, at den skal betragtes som "stabil nok" til faktisk brug. Der blev fundet et par problemer og fejl med testen, og den blev ændret for at rette dem. Den 26. marts 2008 - den dag, både Opera- og WebKit -teams annoncerede en score på 100/100 - kontaktede udviklere af WebKit Hickson om en kritisk fejl i Acid3, der formodentlig tillod en overtrædelse af SVG 1.1 -standarden at passere. Hickson fikset fejlen ved hjælp af Cameron McCormack, medlem af W3Cs SVG Working Group.

Chrome-, Presto- og WebKit -baserede browsere

I 2008 scorede udviklingsversioner af Presto- og WebKit -layoutmotorer (henholdsvis Opera og Safari) 100/100 på testen og gengav testsiden korrekt. På det tidspunkt passerede ingen browser, der brugte Presto- eller WebKit -layoutmotorerne, testens ydelsesaspekt.

Google Chrome og Opera Mobile viste en score på 100/100. Sikkerhedsproblemer over skrifttyper, der kan downloades, forsinkede Chrome fra at passere.

Version 68 og nyere af Chrome får en score på 97/100.

Firefox

Acid3 udført på Firefox 67.0.2.

På tidspunktet for Acid3s udgivelse havde Mozilla Firefox -udviklere forberedt sig på den forestående udgivelse af Firefox 3 og fokuserede mere på stabilitet end Acid3 -succes. Derfor havde Firefox 3 en score på 71. Firefox 3.5 scorede 93/100, og Firefox 3.6 scorede 94/100. Oprindeligt scorede Firefox 4 97/100, fordi den ikke understøttede SVG -skrifttyper. Senere scorede Firefox 4 100/100, fordi SVG -skrifttest blev fjernet fra Acid3.

Ifølge Mozilla -medarbejderen Robert O'Callahan understøttede Firefox ikke SVG -skrifttyper, fordi Mozilla betragtede WOFF som et overlegen alternativ til SVG -skrifttyper. En anden Mozilla -ingeniør, Boris Zbarsky, hævdede, at delsættet af specifikationen implementeret i Webkit og Opera ikke giver nogen fordele for webforfattere eller brugere i forhold til WOFF, og han hævdede, at implementering af SVG -skrifttyper fuldt ud i en webbrowser er svært, fordi den "ikke var designet med integration med HTML i tankerne ".

Den 2. april 2010 foretog Ian Hickson mindre ændringer i testen, efter at Mozilla på grund af bekymringer om privatlivets fred havde ændret den måde, Gecko håndterer :visitedpseudoklassen.

Firefox 51.0a1 foretog en regression fra 100 til 99 den 14. september 2016; Firefox 55.0a1 faldt yderligere til 97 den 1. maj 2017. I Firefox Quantum -versioner modtog 63.0 97/100; 64.0 fik 96/100, 68.1.0esr og senere fik 97/100.

Internet Explorer

Microsoft sagde, at Acid3 ikke var enig i målet med Internet Explorer 8, og at IE8 kun ville forbedre nogle af de standarder, der testes af Acid3. IE8 scorede 20/100, hvilket er meget værre end alle relevante konkurrenter på tidspunktet for Acid3s udgivelse, og havde nogle problemer med at gengive Acid3 -testsiden. Den 18. november 2009 offentliggjorde Internet Explorer -teamet et blogindlæg om den tidlige udvikling af Internet Explorer 9 fra PDC -præsentationen, der viste, at en intern build af browseren kunne score 32/100.

I løbet af 2010 forbedrede flere offentlige Developer Previews Internet Explorer 9's testresultater fra 55/100 (den 16. marts) til 95/100 (pr. 4. august). Dean Hachamovich, general manager for IE -teamet, hævdede, at stræben efter 100/100 på Acid3 -testen hverken er nødvendig eller ønskelig. Han hævdede, at de to Acid3 -fejl relaterede til funktioner (SVG -skrifttyper og SMIL -animation), der var "i overgang".

Internet Explorer 11 og Edge viser begge en score på 100/100.

Kritik

Tidlige iterationer af testen blev kritiseret for at være en kirsebærplukket samling af funktioner, der sjældent blev brugt, såvel som dem, der stadig var i et W3C-arbejdsudkast. Eric A. Meyer , en bemærkelsesværdig advokat for webstandarder, skrev: "Det virkelige punkt her er, at Acid3-testen ikke er en bredspektret standardstøttetest. Det er et udstillingsværk og noget af en Potemkin-landsby i det. Hvilket er en skam, for det, der virkelig er brug for lige nu, er udtømmende testsuiter til specifikationer - XHTML, CSS, DOM, SVG. "

"Implementering af nok af standarden til at bestå en test er uhensigtsmæssig og har intet at gøre med standardoverholdelse," argumenterede Mozilla UX -leder Alex Limi i sin artikel "Mythbusting: Why Firefox 4 won't score 100 on Acid3." Limi hævdede, at nogle af testene, især dem for SVG -skrifttyper, ikke har nogen relation til reel brug, og implementeringer i nogle browsere er udelukkende blevet oprettet for at øge point.

September 2011 testændringer

Den 17. september 2011 annoncerede Ian Hickson en opdatering til Acid3. Med Hicksons ord, Håkon Wium Lie fra Opera Software, og han kommenterede "de dele af testen, der kan blive ændret i specifikationerne." De håbede, at denne ændring ville "tillade specifikationerne at ændre sig på den måde, der er bedst for internettet, frem for at begrænse ændringerne til kun at være ting, der tilfældigvis passede til det, Acid3 testede!"

Som et resultat opnåede Firefox 4 og Internet Explorer 9 en score på 100/100 på Acid3, men Internet Explorer gengav ikke testen korrekt, fordi den ikke understøttede tekstskygge før Internet Explorer 10.

Standarder testet

Dele af følgende standarder er testet af Acid3:

  • HTTP 1.1 -protokol
  • DOM niveau 2 visninger
  • HTML 4.01 Strenge
  • DOM Level 2 Traversal (subtests 1-6)
  • DOM Level 2 -område (subtests 7–11)
  • Indholdstype : image/png; tekst/almindelig (subtests 14–15)
  • <object> håndtering og HTTP -statuskoder (deltest 16)
  • DOM Level 2 Core (subtests 17, 21)
  • ECMAScript GC (subtests 26–27)
  • DOM Level 2 -begivenheder (subtests 17, 30–32)
  • CSS Selectors (subtests 33–40)
  • DOM Level 2 Style (deltest 45)
  • DOM Level 2 HTML (deltest 60)
  • Unicode 5.0 UTF-16 (deltest 68)
  • Unicode 5.0 UTF-8 (deltest 70)
  • HTML 4.0 Transitional (deltest 71)
  • SVG 1.1 (subtests 74, 78)
  • SMIL 2.1 (deltest 75–76)
  • SVG 1.1 skrifttyper (subtests 77, 79)
  • ECMAScript -overensstemmelse (subtests 81–96)
  • Data URI -skema (deltest 97)
  • XHTML 1.0 Strict (deltest 98)

Passerende betingelser

En bestået score anses kun for gyldig, hvis browserens standardindstillinger blev brugt.

Følgende browserindstillinger og brugerhandlinger kan ugyldiggøre testen:

  • Zoom ind eller ud
  • Deaktivering af billeder
  • Anvendelse af brugerdefinerede skrifttyper, farver, stilarter osv.
  • Efter at have tilføjelser eller udvidelser installeret og aktiveret
  • Installeret og aktiveret User JavaScript eller Greasemonkey scripts

Se også

Referencer

eksterne links

Medier relateret til Acid3 på Wikimedia Commons