Krijg site niet valid

Status
Niet open voor verdere reacties.

MBDesignerNL

Gebruiker
Lid geworden
17 jan 2010
Berichten
42
Hallo iedereen,

Ik ben bezig met mijn website voor informatica (op school) en ik krijg hem niet valid.
Het gaat om een PHP pagina:
http://informatica.pvanhorne.nl/~maurice.b/index.php

En daarin staat bijvoorbeeld deze code:
HTML:
<a href="index.php?pagina=tutorials&taal=html&id=1">

En nou zegt de W3C Validator:
Line 105, column 104: general entity "taal" not defined and no default entity
…"><a href="index.php?pagina=tutorials&taal=html&id=1">&raquo; Lezen</a></span>…

Hoe kan dit? Wat is er mis mee? En hoe kan ik het oplossen?

En nog zo iets:

Line 133, column 4: end tag for element "P" which is not open
</p>

Maar er staat wel degelijk een openingstag in (zie broncode)

Hier de site in de validator.

Kan iemand helpen? Alvast bedankt!
 
Vervang elk '&'-teken eens door '&amp;', zoals hier staat (link is te vinden in de validator).
 
Hoi kermisfreak1000,
Heb je ze wel alletwee in die link veranderd? Er staan 2 &-tekens in.
Na de </pre> in regel 129 is de eerste tag in regel 131 een <b>. Als daarvóór een <p> komt te staan, slaat de html-validator geen alarm meer dat er geen <p> staat.

Er staat weliswaar een <p> in regel 110, maar die wordt automatisch afgesloten omdat in regel 123 een <pre> element begint. Eigenlijk hoort dan ook aan het eind van regel 121 een </p> te staan.
  • Oftewel: een <pre>...</pre> kan niet binnen een <p>...</p> zitten.
Begint de validator zo al groen uit te slaan?
Met vriendelijke groet,
CSShunter

PS:
Gelieve de letten op zowel code-, als spelfouten!
Ja! :p

PS-2:
Je schrijft dat je tutorials volgens de standaarden zijn.
Nu weet ik niet welk leerboek of welke theorieklapper de leraar/lerares aan je heeft toegediend, maar...
  • (op de index.php): de <u> tag is al meer dan 10 jaar afgekeurde html (in html 4.01 afgekeurd vanaf december 1999). De <b> en <i> tags worden de laatste jaren sterk afgeraden. Daarvoor kan beter <strong>...</strong> resp. <em>...</em> gebruikt worden.
  • (op pagina Paragraaf / Alinia): Terecht staat er dat de "align" eigenschap afgekeurde html is. Ook al 10 jaar, en hartstikke afgekeurd dus! :)
    Maar er staat ook dat je 't nog wel mag gebruiken:
    Omdat oudere browsers stijlen niet ondersteunen, blijft het gebruik van afgekeurde elementen en attributen voorlopig toegestaan.
    Nou, dat is zeker de laatste 5 jaar volstrekte lariekoek. Zelfs IE6 ondersteunde al css: weliswaar op vele punten gebrekkig, maar {text-align: right;} kon ook IE6 nog wel begrijpen. En de andere browsers van toen (oudere Firefox- en Opera-versies bijvoorbeeld) lagen altijd jaren voor op Internet Explorer, en konden het zo'n beetje van jongs af aan.
Dit leerboek kan dus gerust in de kachel. :D
En mocht je de informatie van internet geplukt hebben: internet is niet te vertrouwen! Veel online tutorials zijn gewoon bar slecht, of hebben in jaren geen update meer gehad. Dat staat er dan niet bij ... :confused:
 
Laatst bewerkt:
Heel erg bedankt! De home-pagina is nu al valid!

Ik de informatie van http://www.handleidinghtml.nl/
Ik dacht dat deze te vertrouwen was :eek:

En wat is een vervanger van <U>? Een SPAN met CSS? of is er een nieuwe tag?

Nog één probleem:
Deze pagina gaat niet door de validator heen. En zoals je in de broncode ziet, sluit <p> voor de <pre> en word er na de </pre> weer een <p> geopend..
 
Laatst bewerkt:
Hoi kermisfreak1000,
Ik heb nog wat leesvoer voor je. :)
Ik heb de informatie van http://www.handleidinghtml.nl/
Ik dacht dat deze te vertrouwen was :eek:
Ja, een jaar of 7 geleden was dat zeker zo. De uitleg en de voorbeelden zijn ook in het algemeen uitstekend. En het was een behoorlijk complete dwarsdoorsnee van html en css. Ik gebruik 'm nog regelmatig als snel naslagwerkje - daarvoor prima geschikt.
Maar de tijden gaan snel, en helaas ziet de maker geen kans dit werkstuk goed bij te houden.

Er staat bv. al jaren bij de CSS-eigenschappen "Werk in uitvoering" (op die pagina staat: Laatste wijziging: 16 januari 2005). Het "Werk in uitvoering" slaat op aanpassingen om aan te sluiten bij CSS 2.1 (de versie CSS 2 was van ... 1998); de "kandidaat aanbeveling CSS 2.1" was, even kijken, van 2004; met daarna nog enkele aanpassingen tot de huidige CSS 2.1 van 2009. En intussen kunnen browsers al steeds meer met onderdelen van CSS 3 uit de voeten: ontwikkeling gestart rond 2001 (Working Draft / Roadmap CSS 3).
  • Terwijl de officiële route van vaststelling van CSS door W3C achterloopt op de vaardigheden van de browsers (die er als de kippen bij zijn om nieuwe snufjes in de bouwen die de concurrenten nog niet hebben), loopt de handleidinghtml dus nog achter op CSS2.1.

Bij de behandeling van HTML in de handleidinghtml.nl is er iets dergelijks aan de hand; en als je goed leest, staat dat ook tussen de regels door.

De <u> onderstreping?
Bij de omschrijving van het <u> element staat inderdaad het zinnetje dat <u>, hoewel afgekeurd in HTML 4.0, nog wel gebruik mag worden om oudere browsers van dienst te zijn die nog niet met de css style-eigenschappen overweg kunnen. HTML 4.0? Die is van ... 1998!
Er staat ook bij: "Als alternatief kan met behulp van de text-decoration eigenschap een stijl gedefinieerd worden." Dat is dus de stijl die niet door "oudere browsers" ondersteund wordt.
Maar als we die link volgen naar het css-deel van de handleiding, staat op die pagina bij "Bijzonderheden ondersteuning" o.a. behandeling van Internet Explorer 3.0 (!), en via IE4, IE5 en IE5.5 behandeling van IE6 als laatste. Verder wordt niet gekomen. Terwijl op het moment toch iedereen IE6 aan het dumpen is wegens knetterende veroudering en dijken van veiligheidsgaten...
Van de andere "oudere browsers" worden behandeld: Netscape Navigator 4 (!) t/m Netscape 7; terwijl NS9 de laatste versie was, en intussen de hele Netscape Navigator als browser al een paar jaar van het toneel verdwenen is. De genoemde "Mozilla 1.0 t/m 1.3" heet nu Firefox, en zit al op versie 3.6, terwijl FF4 al in een bèta-versie aanwezig is. - Over Opera wordt nog wel iets gezegd, maar bv. over Google Chrome en Safari staat niets.
En dat klopt allemaal: helemaal onderaan die pagina staat "Laatste wijziging: 19 maart 2006". Toen was er nog geen Chrome. ;)
Kortom: wat daar "oudere browsers" worden genoemd, zijn stokoude browsers waarvan je met pijn en moeite nog wel een archief-exemplaar zou kunnen bemachtigen.

Alternatief voor <u>?
En wat is een vervanger van <U>? Een SPAN met CSS? of is er een nieuwe tag?
Alle huidige browsers ondersteunen:
HTML:
<p>Alinea met <span class="onderstreept">een paar onderstreepte woorden</span>, en dan weer gewoon verder.</p>
met:
Code:
.onderstreept {
    text-decoration: underline;
}
Maar - maar - maar ...
Overigens is het een slecht idee om in gewone tekst onderstreping te gebruiken. Zie ook de webrichtlijnen hierover: "Het onderlijnen van tekst die geen link is, wordt ten zeerste afgeraden." Want de ongeschreven wet voor webpagina's is: wat onderstreept is, is een link waar je op kunt klikken. Als je daarvan afwijkt komt de toegankelijkheid van je pagina in gevaar: waar kan je nu wel of niet op klikken? Als elke website dat op een andere manier zou doen, ben je meer tijd kwijt aan het uitvinden hoe de site werkt dan aan het lezen van wat er op staat...
  • Je zou de text-decoration wel bv. kunnen gebruiken voor als je over een link hovert, bv.
    a:hover {text-decoration: underline overline;}.
    Bij aanwijzen van de link krijgt deze dan behalve de onderstreping ook een "bovenstreping".
  • (tussen haakjes: ik ben er dan ook niet blij mee, dat tegenwoordig hier op het forum de links niet meer automatisch een onderstreping hebben.
    Dat zie je op wel meer sites: links hebben alleen een iets ander kleurtje en worden niet onderstreept, omdat dat een "mooier design" geeft. Dat gaat in/met mijn ogen ten koste van het gebruiksgemak. En dan heb ik het nog niet over mensen met niet zulke goede ogen of mensen die kleurenblind zijn ...)

Over <b> en <strong>, en over <i> en <em>
In de handleidinghtml.nl wordt dit uitgelegd op de pagina Introductie weergave tekst. Samengevat:
  • Er zijn "fysieke tekstopmaak-elementen" als <b> en <i>, die gebruik je als je wilt vastleggen hoe de tekst moet worden weergegeven.
  • Er zijn ook "logische tekstopmaak-elementen" als <strong> en <em>, waarmee niet de exacte weergave wordt vastgelegd, maar meer het type tekst.
    "De browser (...) bepaalt hoe de ingesloten tekst wordt weergegeven."
    "Omdat veel auteurs zelf de controle over de weergave van hun documenten wensen te hebben, wordt van de logische tekstopmaak-elementen tegenwoordig slechts beperkt gebruik gemaakt."
Tegenwoordig? "Laatste wijziging: 5 maart 2006". :d
En het klopt ook niet.
  • Het kan wel zijn dat auteurs (webmakers) "zelf de controle over de weergave van hun documenten wensen te hebben", maar dat staat lijnrecht tegenover de voor mij geldende stelregel dat de bezoeker zelf moet kunnen uitmaken hoe voor hem/haar de beste weergave van de pagina is.
  • Voorbeeld: als je als webmaker de lettergrootte instelt op een vast formaat omdat daar het ontwerp van de pagina voor is gebouwd, bijvoorbeeld p {font-size: 12px;},
  • dan ga je er aan voorbij de er verschillende resoluties zijn. Op een beeldscherm van 1920x1080px zijn12 pixels véél kleiner dan op een scherm van 800x600px! Niet voor niets zegt wikipedia: "Ook worden bij hoge resoluties de details in het beeld kleiner, tekst kan hierdoor moeilijker leesbaar worden."
  • Dus wie met zijn/haar site ook mensen wil bereiken die slecht kleine lettertjes kunnen lezen, moet géén px als maat voor de lettergrootte nemen. Internet Explorer kan deze via menu Beeld: Tekengrootte > Extra groot niet groter maken, als de bezoeker dat nodig heeft! De bezoeker zou (in de laatste IE-versies) wel de "Zoom" eigenschap kunnen gebruiken, maar dan wordt de hele pagina vergroot, en moet de bezoeker steeds links-rechts heen en weer scrollen om de regels te kunnen lezen. - Beter is om de font-size's op te geven in een relatieve maat, bv. p {font-size: .9em;}. Attentie: dit is de maat-eenheid em, niet te verwarren met de tag <em> waar we het hier over hebben!
Dat bij <strong> en <em> "de browser (of als die mogelijkheid er is, de gebruiker via de instellingen van de browser) bepaalt hoe de ingesloten tekst wordt weergegeven." is eerlijk gezegd onzin.
De "logische tekstopmaak-elementen" kan je net zo goed als de <b> en <i> tags met css opmaken, zodat er visueel geen enkel verschil is:
Code:
strong {
    font-weight: bold;
}
em {
    font-style: italic;
}
net zoals je in een dolle bui met css de weergave van <i>cursieve tekst</i> rechtopstaand zou kunnen maken:
Code:
i {
   font-style: normal;
}

Waarom dan de voorkeur voor <strong> en <em>?
Als het toch op hetzelfde neerkomt, waarom zou je dan <strong> i.p.v. <b> gebruiken, en <em> i.p.v. <i>?
De reden daarvoor is eigenlijk heel eenvoudig:
  • <b> en <i> zeggen iets over de weergave op scherm, voor een browser die zijn resultaten op scherm toont. Maar er zijn ook andere soorten browsers! Bijvoorbeeld: voorlees-browsers. Die hebben er niets aan, als er in een tekst een stukje cursief staat: hoe lees je dat voor?!
  • Aan de andere kant: <strong> en <em> geven de betekenis aan van het tekstdeel wat zo wordt benoemd. <strong> betekent: "sterk uitgedrukt", en <em> betekent: "met nadruk".
  • Nu kunnen alle types browsers er wel mee overweg! :)
  • Een beeldscherm-browser vertaalt <strong> met een vet lettertype (en/of een afwijkende letterkleur, en/of een afwijkende achtergrond achter die passage: was je maar in je CSS opgeeft), en <em> doorgaans met cursief.
  • Een tekst-voorleesbrowser vertaalt <strong> in: "harder uitspreken", en <em> in: "met klemtoon uitspreken".
Zo heeft iedereen er wat aan.

Nou, ik heb voor vandaag mijn huiswerk wel gedaan, geloof ik. :p

Met vriendelijke groet,
CSShunter

PS:
Als je eens wilt rondneuzen op wat er voor een echte kwaliteitswebsite nodig is, dan moet je de eerdergenoemde Richtlijnen Kwaliteitsmodel Websites eens bekijken.
Daar staat ook prima uitleg over <strong> en zo.
En er is een Quickscan om je pagina's te toetsen op kwaliteit: met aanbevelingen voor als er iets mis mocht zijn.
En nog veel meer voor een regenachtige middag, dag, weekend, week, maand, enz.
Als je deze richtlijnen kent en kunt toepassen, kan je je leraar/lerares gaan overhoren! ;)
 
csshunter zei:

Ho, vergeet ik helemaal dat je nog een validatievraag had. :eek:

De validator zegt: op regel 133 staat een end tag for element "P" which is not open.
Wat zou dat nou betekenen?
Groetjes,
CSShunter

Woow! Dit is echt geweldig! Respect! Dit had ik echt niet verwacht, mijn dank is groot! :eek: En de site komt nu ook door de validator! Super! Leuk trouwens die speurtocht! haha
 
de site komt nu ook door de validator!
Keurig! :thumb:

Nu de inhoud nog: ;)
  • Misschien een idee om ergens op de homepage te vermelden dat deze site een schoolwerkstuk is.
  • Misschien een idee te vermelden dat de inhoud gebreken kan vertonen (verouderd kan zijn, geen geldige html-css oplevert, enz.).
  • Misschien een idee om aan bronvermelding te doen (+ links + datum van de gelinkte pagina's), o.a. om het copyright van die pagina's geen geweld aan te doen.
  • Bv. je pagina Overzicht CSS is eigenlijk compleet plagiaat (< lees die link!) van deze of deze (één van die twee is kennelijk ook overgeschreven van de andere!), en door de auteurswet wordt dat verboden (tenzij je aantoonbare schriftelijke toestemming hebt van de makers). Dat geldt ook voor foto's en afbeeldingen; er bestaan krasse staaltjes van, als iemand de wet gaat toepassen en het gerecht erbij sleept...
  • Misschien een idee om wat links op te nemen naar wel goede info-bronnen.
Daarvoor hoef je je niet te schamen (webstandaarden onder de knie krijgen doe je niet in een paar weken), en daarmee kraak je je eigen site niet af, maar wint deze juist aan kwaliteit!

In plaats van de lieve lezer op te zadelen met "Op deze website vind je alles over de talen HTML en CSS. Hier leer je hoe je een goede website maakt volgens de regels van het World Wide Web Consortium (W3C)." (waarmee je nog een extra niet goede tut op internet zou zetten, waar een beginner aardig in kan tuinen), - even ademhalen -, geef je er blijk van de bezoeker serieus te nemen.

Bovendien lijkt me dat je met deze site het doel "maak een werkende site, die zelf valid is" aardig gehaald hebt. :)

Met vriendelijke groet,
CSShunter

PS
Wat suggesties voor links:
 
Dit is werkelijk fantastisch! :eek: Geniaal, ik wou dat er een pocket versie van jou was die ik in mijn zak kon steken haha :p Nog maals heel erg bedankt voor de tips! Ik ga er mee aan de slag!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan