Avatar billede visto Professor
04. marts 2023 - 09:09 Der er 26 kommentarer

Validering: Firefox godkender, mens w3.org melder om errors

For nogle af mine sider melder https://validator.w3.org/ om rigtig mange fejl, mens HTML validator i Firefox melder om 0 errors / 0 warnings.
Fx på denne side: https://vinsiderne.dk/artikler/freisa
hvor w3.org melder om 15 errors / 4 warnings.

Hos w3.org indgår <!>et-eller-andet-ord<!> typisk i størstedelen af fejlene, mens masser af forekomster af <!>et-eller-andet-ord<!> på andre sider ikke giver anledning til fejl, fx på denne side: https://vinsiderne.dk/rejser/bologna

Jeg har på flere af siderne med de mange w3.org-errors  prøvet at tjekke alle tags manuelt, men det er ikke på den måde lykkedes mig at finde fejl.

Jeg forstår ikke, hvorfor w3.org på nogle sider giver så mange errors, mens andre sider, der indeholder fuldstændig sammenlignelig kodning, ikke giver fejl.
Kan nogen hjælpe med en forklaring?
Avatar billede visto Professor
04. marts 2023 - 11:15 #1
Korrektion: w3.org viser også fejl på Bologna-siden - prøver lige at finde et andet eksempel uden fejl.
Avatar billede keysersoze Guru
04. marts 2023 - 11:24 #2
Som udgangspunkt ville jeg stole på w3 - det er trods alt dem, der burde have mest styr på standarderne og at bedømme ud fra hvad jeg lige kan se har den umiddelbart ret. Det lidt svære ved valideringsresultaterne kan være, at én fejl kan forårsage eller skjule andre fejl og det kan være det lidt er det du oplever.
Avatar billede visto Professor
04. marts 2023 - 12:00 #3
Ja, jeg stoler også mere på w3, Firefox er ind imellem for "overbærende". Problemet er imidlertid, at w3 ikke viser mig, HVOR den egentlige fejl er men alt mulige andre, som jeg har været ude for forsvinder, når den egentlige fejl er rettet.

Jeg var netop ude for, at en side viste 4 fejl. Jeg ledte så og fandt et manglende </p>, som ikke var blandt de 4 af w3 registrerede fejl. Jeg tilføjede det manglende </p>, hvorefter antallet af registrerede fejl blev 4-doblet, og det var nogle helt andre fejl, den nu viste, nemlig de nævnte typiske <!>...</!>. Det er meget svært at bruge til noget.
Hvordan finder jeg den egentlige fejl?
Avatar billede keysersoze Guru
04. marts 2023 - 12:14 #4
Det var netop det jeg mente med at én fejl kan forårsage eller skjule andre fejl - som udgangspunkt løs den første fejl, revalider, løs første fejl, revalider osv. Nu ved jeg ikke hvordan din side er bygget op eller kodet men er der noget håndkode i det og du benytter en god editor, fx VS Code, kan den hjælpe til at spotte mange af de strukturelle problemer.
Avatar billede bvirk Guru
04. marts 2023 - 12:15 #5
Jeg synes umiddelbart at https://validator.w3.org/ viser hvor fejl er, når der vælges 'verbose' :

Line 583, Column 190: character "<" is the first character of a delimiter but occurred as data

…hes/" target="_blank">Gambero <!>Rosso</!></a>'s anbefaling af restauranten st…
...

Til hvilket formaål bruger du <!>whatever</!>  ?  Er det html 4 eller xhtml 1
Avatar billede visto Professor
04. marts 2023 - 12:45 #6
Jeg kan ikke se forskel på verbose og ikke verbose, får samme output.

Jeg kan ikke få øje på nogen fejl i det, som w3 angiver som fejl i linje 583. Og jeg er overbevist om, at finder jeg den egentlige fejl på siden, så forsvinder linje 583-fejlen og alle de andre 16 ud af den blå luft.

Jeg bruger <!>whatever</!> i forbindelse med en ordbogsfunktion, hvor ordet indeni ikke skal udløse en ordbogshenvisning. Bruger xhtml 1.
Avatar billede keysersoze Guru
04. marts 2023 - 13:06 #7
Hvad er det for en ordbog? Umiddelbart er <!> ikke valid html.
Avatar billede visto Professor
04. marts 2023 - 13:35 #8
Det er ikke mig, der har lavet ordbogsfunktionaliteten, men ham der lavede den var ekstremt optaget af valid kode, så mit gæt er, at det må være i orden, det han har lavet.
Du kan se ordbogsfunktionaliteten ved på en af de nævnte sider at holde musen over et af de gråmarkerede ord (eller på smartphone taste). <!> er at opfatte som en art udnotering.
Avatar billede visto Professor
04. marts 2023 - 13:40 #9
Tjek https://vinsiderne.dk/artikler/oltrepo-pavese
Den er der også ordbog på, og der er også <!>...</!> på siden. Denne side godkender w3, så problemet med alle fejlene på de andre sider har intet at gøre med <!>...</!>
Avatar billede bvirk Guru
04. marts 2023 - 13:45 #10
Skrev forkert i #5 - det er med 'Show Source' w3.org viser placering af fejl:
http://da.bvirk.dk/data/ekspertenHtml.png

Kender godt at en fejl et sted udløser 'falske fejl' andre steder - det er et bud på årsagen.

Jeg ville have valgt valid xhtml til ordbogs opslag, f.eks
<span class="ordbogs">whatever</span>
- men kender jo ikke til om du er inde i framework med begrænsninger.
Avatar billede keysersoze Guru
04. marts 2023 - 13:50 #11
Der er ingen <!> på dit sidste link - det er ikke tilladt at benytte <!> da w3 tror det er starten på en kommentar <!-- comment --> men <!> opfylder ikke kravene for en kommentar. Hvis jeg fjerner <!> fra din freisa bliver den også valid så du må få fat i din udvikler og få ham til at lave rigtig valid kode (heriblandt også fjerne alle tegn før doctype).
Avatar billede keysersoze Guru
04. marts 2023 - 14:01 #12
Når det så er sagt - valid kode er ikke en absolut nødvendighed selvom jeg også er stor fan. Mit gæt er, at tiden lige i din situation kunne blive bedre givet ud på at optimere til Google Lighthouse og måske også optimere ved minify og combine.
Avatar billede visto Professor
04. marts 2023 - 16:38 #13
#10
Kender intet til framework med begrænsninger.

Et ordbogsopslag ser sådan ud for ordet Lombardiet:
<span><a class="ref_ord" href="/ordbog/#Lombardiet">Lombardiet</a></span>
som mig bekendt er valid kode.
<!>whatever</!> bruges til at annullere et opslag i ordbogen af et ord, som forekommer i teksten, men som altså ikke skal "slås op". Fx findes ordet tør i ordbogen. Her vil ordet størst udløse et opslag, fordi tør er en del af størst, men størst skal selvfølgelig ikke henvise til en forklaring af tør. Derfor: <!>størst</!>.

#11
Det er nært forestående, at jeg skifter fra XHTML1 til HTML5, og så bliver det med DOC-type klaret.
Min forestilling er dog, at det ikke vil gøre nogen forskel på w3's "falske fejl". Så længe den strikse w3 kan godkende sider med masser af forekomster af <!>whatever</!>, har jeg svært ved at anerkende dem som fejl.

#12
Jeg er klar over, at valid kode ikke er en absolut nødvendighed - men jeg kan bare bedst lide at koden er valid.
Det med Lighthouse og minify og combine kan være udmærket, men jeg har indtryk af, at det er i en anden boldgade. Og fx med hastighed er min mistanke, at det, der er den største udfordring i den henseende, er one.com's servere, som jeg på et tidspunkt ufrivilligt blev overflyttet til.
Avatar billede bvirk Guru
04. marts 2023 - 16:54 #14
#9: 'og der er også <!>...</!> på siden'

Nej, og ordbogsfunktionen kigger på a elementer hvis class er ref_ord, som i

<a class="ref_ord" href="/ordbog/#MetodoClassico">Metodo Classico</a>

følgende i  ordbog.js sætter mouse og focus eventene

function InitOrd() {    // sæt onmouseover og onfocus på link
    var ord_elms = document.getElementsByTagName( 'a');     // I FF vil det her være logisk at bruge getElementsByClass('ref_ord')
    for ( var idx = 0; idx < ord_elms.length; idx++) {
        var elm = ord_elms[idx];
        if ( elm.className == 'ref_ord') {        // Sæt funktionalitet på link der relaterer til orbogen - class="ref_ord"
            SetEvt( elm, 'mouseover', SetFocus);
            SetEvt( elm, 'focus', HentForklaring);
            SetEvt( elm, 'mouseout', HideForklaring);
            }
        }
    forkl_elm = document.getElementById('forklaring');
    SetEvt( forkl_elm, 'mouseout', HideForklaring);
// Indsat 12 05 27
    SetEvt( forkl_elm, 'click',LukForklaring);
// Indsat 12 05 27
    }
Avatar billede visto Professor
04. marts 2023 - 17:03 #15
Jeg er ikke med på, hvad du vil sige med dette?
Avatar billede bvirk Guru
04. marts 2023 - 17:14 #16
#13 så jeg først efter at have skrevet #14
Jeg forstår ikke det med at annulere opslag - altså med hensyn til hvad browseren viser. De tilknyttede mouseover, focus og mouseout som afstedkommer at der viser og forsvinder igen en popup tekst, er på a tags af ref_ord classe.
Der forholdes slet ikke til a elementets tekst - med andre ord, det er ligemeget om det står andre steder eller med endnu andre ord - der fortages ingen søgning på ord som afstedkommer popupen

Såvidt jeg kan ses
Avatar billede visto Professor
04. marts 2023 - 17:30 #17
#4
Jeg har indtil nu overset #4 - beklager.
Alt er håndkodet.
Jeg er med på princippet med på først at løse en fejl, dernæst næste osv. Men da jeg jo ikke ved hvad den - formentlig ene - fejl, der er på de enkelte sider, er, er det jo netop problemet. Og igen: <!>...</!> er ikke en fejl iflg. w3 - kun hvis der er en anden - og "skjult" fejl, påstår w3 at det er en fejl. Men det må være w3's fejl!
Avatar billede visto Professor
04. marts 2023 - 17:34 #18
#16
Som nævnt er det ikke mig, der har kodet ordbogsfunktionalitet; jeg kan kun HTML og CSS.
For mig er det vigtigste at ordbogsfunktionaliteten virker: Findes et ord i teksten, et ord som er i ordbogen, genereres automatisk et "opslag". Men det gør der ikke, hvis der sættes <!></!> uden om ordet. Og det er præcis som det skal være.
Men det har jo egentlig ikke noget at gøre med spørgsmålet :-)
Avatar billede keysersoze Guru
04. marts 2023 - 18:12 #19
w3 giver ikke falske fejl i dit tilfælde - det kan godt være, at <!>abc</!> virker i forhold til din ordbog men det ændrer ikke ved at det er invalid kode. Hvis din udvikler påstår andet så bed om dokumentation. Det bør også være ret let at tilpasse, fx ved at pakke ordet ind i et andet tag med en data-attribut eller class, det kunne fx være

<span data-avoidtranslation>abc</span>
eller
<span class="js--avoid-translation>abc</span>

og så selvfølgelig tilpasse scriptet efterfølgende.
Avatar billede visto Professor
04. marts 2023 - 19:59 #20
#19
Hvis det er ikke-valid kode, hvorfor kan w3 så godkende den?
Avatar billede bvirk Guru
04. marts 2023 - 20:15 #21
fordi den ikke indeholder <!>
Avatar billede keysersoze Guru
04. marts 2023 - 20:25 #22
Nu er du ved at tabe mig - du spørger hvorfor w3c melder valideringsfejl på din side og du får en forklaring. Nu mener du at w3c godkender den? Eller hvad er det jeg misforstår?
Avatar billede visto Professor
04. marts 2023 - 21:58 #23
#21 og #22

Aha!
Nu forstår jeg jeres undren. Her er en ny oplysning, som er en nyopdagelse - som jeg heller ikke forstår, men som måske kan lede videre:

Jeg har tjekket kildekoden for
https://vinsiderne.dk/artikler/oltrepo-pavese
og den indeholder - til min overraskelse - ikke <!>, hvilket er det I har set. Men det gør den uploadede fil, fx: "regionens <!>største</!> og mest vinproducerende område". Der er 15 <!> i denne fil, som jeg har sikret mig er den, der ligger på serveren. - <!> er i filen men ikke i kildekoden!

I modsætning hertil er <!> synlig i kildekoden for en af de sider der giver de mange fejl i w3:
https://vinsiderne.dk/artikler/freisa
I kildekoden, som den vises i Firefox er <!></!> i kursiv, fx:
<!>Rossotto</!>

Så for mig er spørgsmålet nu: Hvorfor ses <!> i den ene sides kildekode og ikke i den anden?
Avatar billede keysersoze Guru
04. marts 2023 - 23:44 #24
Pas :)

Cache, mismatch i hvad du ser og hvad/hvor du tror er uploadet, html sanitize på serveren - svært at spå om desværre.
Avatar billede bvirk Guru
05. marts 2023 - 08:00 #25
bogus comment - på dansk: falsk kommentar - retvisende vist af firefox. I Chrome bare kommentar grøn og uden tiptekst.
Det var hvad vi lærte i denne tråd
Avatar billede visto Professor
05. marts 2023 - 13:49 #26
Jeg er selv blevet klogere nu.

Jeg gik i lag med to sider med henh. 15 errors/4 warnings og 16 errors/2 warnings. Jeg indkredsede de reelle fejl ved at slette bid for bid, indtil fejlene var isoleret, hvorefter jeg rettede dem.

På den første side fandt jeg ud af, at w3 opfatter det som en fejl, når der er <!>whatever</!> indeni et link, så da jeg slettede en forekomst af <!> og </!> her, forsvandt 6 errors og 2 warnings.
Da jeg slettede en anden forekomst af det samme, forsvandt de sidste 9 errors og 2 warnings.

På side nr. 2 fjernede jeg ligeledes <!> og </!> indeni et link. Her forsvandt kun 2 warnings.
De sidste 16 errors forsvandt, da jeg indsatte et manglende </p>

Det jeg har lært af alt dette er:
1) Firefox finder ikke "banale" fejl som manglende </p> og er dermed for overbærende.
2) w3 kan bruges til at fortælle, om der er fejl eller ikke, men er ikke velegnet til præcist at fortælle, hvor den fejl, der udløser de mange "falske positive" er.
3) jeg kan lige nu kun se en metode til at finde de virkelige fejl: at indkredse dem ved at slette eller udnotere i (en kopi af) filen, indtil w3 godkender siden.

Tak for jeres input. Jeg kan godt forstå, at I var nødt til at give op, da kildekoden jo ikke var til megen hjælp, og andre ting udenfor vores indflydelse også på uigennemskuelig måde kan have spændt ben.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester