Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
#1 12. September 2012 14:37
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Fehlerbereinigung
Hallo,
ich bin mit meiner Seite soweit erst mal zufrieden und wollte mich nun einmal an die Optimierung machen. Alles neu für mich.
Möchte nun beginnen die Code Fehler auf der Seite zu beheben. Dazu habe ich die Seite per MVS prüfen lassen.
Hier das Ergebnis: http://validator.w3.org/check?uri=http% … 1.3#result
Dabei ist mir aufgefallen das viele aus Modulen resultieren welche ich nicht angerührt habe. Die ersten Einträge zum Beispiel betreffen das Search und News Modul. Bin mir jetzt nicht ganz im Klaren wie ich diese Fehler beheben kann?
Soll/Kann ich hier manuell eingreifen?
ff-jena-mitte.de
Offline
#2 12. September 2012 16:36
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: Fehlerbereinigung
Einen kleinen Gefallen könntest du dir tun, wenn du den DocType nicht als "Strict", soondern als "transitional" definierst. Das ist etwas toleranter und deine Seite ist trotzdem noch valide.
Ansonsten steht da ja, was falsch ist:
Line 50, Column 32: document type does not allow element "label" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag
Die ist ein Tag nicht richtig geschlossen.
Line 70, Column 8: document type does not allow element "td" here; assuming missing "tr" start-tag
Das bezieht sich hierauf:
<table cellpadding="0" cellspacing="0">
<td>
Da fehlt die Table-Row (<tr></tr>) . Dasselbe gilt für die folgenden Tabellenfehler.
there is no attribute "target"
Das Attribut target="_blank" wird von deinem DocType nicht unterstützt. Lösung: siehe meinen ersten Kommentar.
Line 328, Column 5: end tag for "br" omitted, but OMITTAG NO was specified
<br> ist falsch. Tags, die keinen abbschließenden tag brauchen, sehen so aus: <br />
document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag
Ein Div gehört nicht in einen Absatz. Entferne die <p>-Tags.
Alle anderen Fehler sind wiederholungen derselben Fehler.
Beitrag geändert von antibart (12. September 2012 16:46)
Offline
#3 12. September 2012 16:45
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Fehlerbereinigung
Nimm also die "label"-Tags aus dem Search-Template raus. Du brauchst sie im Prinzip auch nicht wirklich.
Seufz.
Anscheinend beschäftigt sich nur wenige in diesem Forum auch nur ansatzweise mit Zugänglichkeit/Usability/Barrierefreiheit.
Siehe u.a.
http://www.mediaevent.de/xhtml/label.html
http://www.einfach-fuer-alle.de/artikel … /html-css/
Die von XHTML Strict angemeckerten Fehler lassen sich -glaubich- durch ein simples FIELDSET beheben.
Oder eben auf XHTML transitional umsteigen ...
Servus,
Alex
Beitrag geändert von faglork (12. September 2012 16:49)
Offline
#4 12. September 2012 16:48
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 880
Re: Fehlerbereinigung
antibart schrieb:Nimm also die "label"-Tags aus dem Search-Template raus. Du brauchst sie im Prinzip auch nicht wirklich.
Seufz.
Anscheinend beschäftigt sich nur wenige in diesem Forum auch nur ansatzweise mit Zugänglichkeit/Usability/Barrierefreiheit.
Sorry - genau bei diesem Fehler bin mir nicht ganz sicher, daher habe ich oben noch mal editiert. Das kann auch sein, dass "irgendwo" ein Tag nicht richtig geschlossen wurde. Eventuell verschwindet der Fehler, wenn du einige der anderen bereinigt hast.
Ansonsten - ja doch - beschäftige ich mich "relativ" viel mit den Themen Barrierefreiheit und Usabilitry und bislang gab es keine Klagen.
In "strict" habe ich zugegeben aber erst ein Projekt umgesetzt. Mit 0 Fehler und 0 Warnungen.
Beitrag geändert von antibart (12. September 2012 16:53)
Offline
#5 13. September 2012 09:31
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
edit.
Beitrag geändert von kampkrusty (13. September 2012 09:51)
ff-jena-mitte.de
Offline
#6 13. September 2012 09:34
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Fehlerbereinigung
resultiert doch aus der automatischen Generierung aus dem Newsmodul. Wo kann ich denn dort Einfluss nehmen?
Im Template ...
Servus,
Alex
Offline
#7 13. September 2012 09:52
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Hab es schon korrigiert. Hatte es selbst angepasst und damit den Fehler verursacht...
Beitrag geändert von kampkrusty (13. September 2012 09:52)
ff-jena-mitte.de
Offline
#8 13. September 2012 11:45
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Habe nun bis auf 3 Fehler alles korrigiert.
Die letzten 3 bereiten mir aber einiges an Kopfzerbrechen.
Zum einen gibt es das offenbar nicht Strict konforme target="_blank".
Dazu gibt es verschiedene Lösungsansätze. Welchen sollte man da nehmen?
Die nächsten beiden Probleme kann ich nicht lokalisieren.
Zum einen
Line 50, Column 32: document type does not allow element "label" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag <label for="cntnt01searchinput">Suche: </label><input type="text" class="s… ✉ The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element. One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>")
Der betreffende Code sieht wie folgt aus:
<div id="top-bar" class="container">
<div class="bar">
<div class="text">du bist hier: <span class="lastitem">Home</span>
</div>
<div id="search">
<form id="cntnt01moduleform_1" method="post" action="moduleinterface.php" class="cms_form">
<div class="hidden">
<input type="hidden" name="mact" value="Search,cntnt01,dosearch,0" />
<input type="hidden" name="cntnt01returnid" value="19" />
</div>
---><label for="cntnt01searchinput">Suche: </label><---
<input type="text" class="search-input" id="cntnt01searchinput" name="cntnt01searchinput" size="20" maxlength="50" value="Suche..." onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;" />
<input class="search-button" name="submit" value="Suchen" type="submit" />
<input type="hidden" id="cntnt01origreturnid" name="cntnt01origreturnid" value="15" />
</form>
</div>
</div>
</div>
Und dann noch:
Line 343, Column 250: document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag …e) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;" /> ✉ The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element. One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
Auch hierzu gibt es den Code:
<li>
<h2>Anmeldung</h2>
<div id="loginform">
<form id="mfd621moduleform_2" method="post" action="http://www.kampkrusty.de/" class="cms_form">
<div class="hidden">
<input type="hidden" name="mact" value="FrontEndUsers,mfd621,do_login,1" />
<input type="hidden" name="mfd621returnid" value="15" />
<input type="hidden" name="page" value="15" />
<input type="hidden" name="mfd621form" value="login" />
<input type="hidden" name="mfd621returnto" value="home" />
</div>
---><input type="text" name="mfd621feu_input_username" id="feu_input_username" size="20" maxlength="40" value="Benutzername" onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;" /><---
<div id="feusecond"><br />
<input type="password" id="feu_input_password" name="mfd621feu_input_password" size="20" maxlength="20" value="Passwort" onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;" /><br /><br />
<input type="submit" name="mfd621submit" class="button" value="Anmelden" /><br /><br />
<a class="feulostpw" href="http://www.kampkrusty.de/index.php?mact=FrontEndUsers,cntnt01,default,0&cntnt01form=forgotpw&cntnt01returnto=15&cntnt01returnid=15" title="Klicken Sie hier, wenn Sie sich nicht mehr an Ihr Passwort erinnern können">Haben Sie Ihr Passwort vergessen?</a><br />
</div>
</form>
</div><br />
</li>
Noch eins: Muss man die Unterseiten alle Extra validieren lassen?
Beitrag geändert von kampkrusty (13. September 2012 11:46)
ff-jena-mitte.de
Offline
#9 13. September 2012 12:59
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Fehlerbereinigung
Das Target Blank würde ich mit jQuery umsetzen:
<script type="text/javascript">
$(window).load(function(){
$('a.external').attr('target', '_blank');
});
</script>
Beim Such und FEU-Template will er noch ein <p> oder ein <div> um die Inputfelder. Hier reicht auch ein einfaches <div><input ...... ></div>
Diese Ergänzungen kannst du einfach in den jeweiligen Templates vornehmen.
Die Unterseiten musst du nur prüfen, wenn du dort weitere Module einsetzt. Ansonsten sollte es jeweils stimmen. Allerdings kann eine Kontrolle sicher nicht schaden. Man sieht ab und zu noch Fehler die vorher nicht zu Tage getreten sind.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#10 13. September 2012 13:21
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Das mit dem div hat funktioniert (gibt es dazu eine Erklärung?)
An welcher Stelle muss der script code denn eingebunden werden?
Danke dir.
ff-jena-mitte.de
Offline
#11 13. September 2012 13:32
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Fehlerbereinigung
Für die Erklärung musst du die Dokumentation des Strict Standards lesen.
Der Script-Code musst du im <head></head> Bereich der Seite einbauen. Beachte einfach folgendes: jQuery muss vorher eingebunden sein, sonst funktioniert das Script nicht.
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#12 13. September 2012 13:56
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
@kampkrusty: Die Erklärung für <div> hast du schon selbst geliefert ;o)
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element
Der "Haken" ist die Verschachtelung von Elementen.
VG!
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#13 13. September 2012 13:58
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
@nockenfell: Das Script kann man auch direkt in den Meta-Angaben im Admin-Bereich einsetzen, oder?
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#14 13. September 2012 15:10
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Mit jQuery habe ich noch schwer zu kämpfen. Ich habe jQuery installiert und ein neues Skript angelegt. Dort habe ich exakt das rein geschrieben was nockenfell oben gepostet hat.
Dann noch im Seitentemplate den Aufruf im Head Bereich eingefügt ({jQuery action="load" script="1"}).
Das ganze hat aber keinen Effekt.
Der Link sieht so aus
<a title="FCC" href="http://aktion.fc-carlzeiss-jena.de" target="_blank">aktion.fc-carlzeiss-jena.de</a>
ff-jena-mitte.de
Offline
#15 13. September 2012 16:17
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
Müsste da nicht auch noch jquery selbst aufgerufen werden? Also bspw. <script type="text/javascript" src="jquery.js"></script> ?
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#16 13. September 2012 19:26
- nockenfell
- Moderator
- Ort: Gontenschwil, Schweiz
- Registriert: 09. November 2010
- Beiträge: 2.934
- Webseite
Re: Fehlerbereinigung
jQuery installierst du am einfachsten (ich halte nicht viel vom jQueryTools Modul) in dem du entweder jQuery von www.jquery.com herunterlädst und einbindest oder in dem du jQuery direkt so einbindest:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog / Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox
Offline
#17 14. September 2012 09:18
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Ok, habe das Modul wieder deinstalliert und entfernt.
Im Head des Seitentemplates folgende Zeilen eingefügt:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">$(window).load(function(){$('a.external').attr('target', '_blank');});</script>
Der Link sieht weiter so aus:
<a title="FCC" href="http://aktion.fc-carlzeiss-jena.de" target="_blank">aktion.fc-carlzeiss-jena.de</a>
Der Validator sagt aber weiterhin das er es nicht mag. Die Funktion an sich funktioniert (Öffnen in neuem Tab).
/edit
Im Source Code des Validators zeigt er im Head nur folgendes an:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">$(window).load(function());</script>
Liegt es vielleicht daran?
Beitrag geändert von kampkrusty (14. September 2012 09:22)
ff-jena-mitte.de
Offline
#18 14. September 2012 10:13
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Fehlerbereinigung
Leicht offtopic:
Kleine Zwischenfrage: Wozu überhaupt?
Es ist keine gute Idee, Seiten in einem neuen Fenster aufzumachen. Das kann der Benutzer ja auch selbst machen - WENN ER ES WILL. Die Art und Weise wie sich der Browser verhält sollte dem Nutzer überlassen bleiben. Bei mobilen Endgeräten ist es besonders kontraproduktiv, weil die Fensterverwaltung nicht so offensichtlich ist wie bei einem "normalen" Browser.
Siehe dazu
http://www.usability-tipps.de/info/inde … er-offnen/
Dann kannst du dir das ganze Gesummse sparen - es erleichter sowohl deine Arbeit als auch den Benutzern den Umgang mit deiner Website ...
Meinjanur ...
Servus,
Alex
Offline
#19 14. September 2012 10:17
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Habe das jetzt schon ein paar mal gelesen. Wollte damit verhindern das der User die Seite (aus Versehen, weil er es nicht besser wusste) verlässt.
Ich kenne meine Kumpels...
ff-jena-mitte.de
Offline
#20 14. September 2012 10:29
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
Mich nervt es total, wenn Links sich im selben Browserfenster öffnen und ich x-mal zurückklicken muss - das ist schlichtweg unkomfortabel. Gerade dann, wenn ich auf der eigentlichen Seite später weiterlesen will, auf der sich neu öffnenden jedoch wiederum weiterführende Links bestehen.
Zum Thema: @kampkrusty, füg mal in die globalen Metadaten im Adminbereich die Zeile ein:
<meta http-equiv="Content-Script-Type" content="text/javascript" />
Im Übrigen hast du immer noch die Fehler mit den verschachtelten Elementen.
VG!
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#21 14. September 2012 10:59
- kampkrusty
- Server-Pate
- Registriert: 03. April 2011
- Beiträge: 263
Re: Fehlerbereinigung
Zum Thema: @kampkrusty, füg mal in die globalen Metadaten im Adminbereich die Zeile ein:
<meta http-equiv="Content-Script-Type" content="text/javascript" />
Hab ich gemacht, da steht jetzt:
<meta name="Generator" content="CMS Made Simple - Copyright (C) 2004-10 Ted Kulp. All rights reserved." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
Hat aber keinen signifikanten Effekt. Ich scheine da grundsätzlich irgendwas falsch zu machen.
Im Übrigen hast du immer noch die Fehler mit den verschachtelten Elementen.
VG!
Immer eins nach dem anderen. Man will ja auch was lernen.
Zumal ich im Search Template den Hinweis mit den div's nicht anwenden kann, da es mir damit die Elemente verschiebt.
Mich nervt es total, wenn Links sich im selben Browserfenster öffnen und ich x-mal zurückklicken muss - das ist schlichtweg unkomfortabel. Gerade dann, wenn ich auf der eigentlichen Seite später weiterlesen will, auf der sich neu öffnenden jedoch wiederum weiterführende Links bestehen.
Geht mir ganz genau so.
Beitrag geändert von kampkrusty (14. September 2012 11:13)
ff-jena-mitte.de
Offline
#22 14. September 2012 11:17
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
Uuups, wollte nicht drängeln, jedoch hattest du oben geschrieben, dass das mit den divs geklappt hätte.
Also, ich sehe einen Effekt, der Fehler, auf den ich mich bezog, taucht im Validome nämlich nicht mehr auf ;o)
Hinsichtlich des Fehlers "target" als solches würde ich einmal die Lösung mittels CDATA versuchen, die du in dem Link findest, den du gepostet hattest:
<script type="text/javascript">
//<![CDATA[
$('a.external').bind('click', function() {
window.open(this.href);
return false;
});
//]]>
</script>
<a href="http: ....
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#23 14. September 2012 11:27
- faglork
- arbeitet mit CMS/ms
- Ort: Fränkische Schweiz
- Registriert: 15. Dezember 2010
- Beiträge: 1.152
- Webseite
Re: Fehlerbereinigung
Mich nervt es total, wenn Links sich im selben Browserfenster öffnen und ich x-mal zurückklicken muss - das ist schlichtweg unkomfortabel.
Niemand muss "x-mal" zurückklicken. Wenn Du zb. im Firefox den Zurück-Button gedrückt hältst, öffnet er eine Liste alle besuchten Seiten - du brauchst nur auszuwählen. Alternativ kannst Du auf "Chronik" klicken. Das ist wesentlich komfortabler als -zig Tabs/Fenster. Aber das ist nur *meine* Meinung.
Gerade dann, wenn ich auf der eigentlichen Seite später weiterlesen will, auf der sich neu öffnenden jedoch wiederum weiterführende Links bestehen.
NIEMAND hindert Dich, die Links in einem neuen Tab zu öffnen: STRG-Klick, das wars. Neues Fenster: SHIFT-Klick.
Mich nervt es total, wenn sich neue Fenster/Tabs öffnen obwohl ICH das nicht will. Den umgekehrten Weg gibt es nämlich nicht: Wenn target=_blank, dann kann man das nicht blocken.
Meinst Du nicht auch dass es besser wäre das dem USER zu überlassen? Ihm *Deine* Meinung aufzwingen ist nicht grade benutzerfreundlich.
Und: Das gilt ganz besonders - wie gesagt - für mobile Endgeräte mit kleinen Bildschirmen.
Servus,
Alex
Beitrag geändert von faglork (14. September 2012 11:28)
Offline
#24 14. September 2012 11:27
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
Ergänzung: Dein Link muss dann natürlich entsprechend des Beispiels angepasst werden.
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#25 14. September 2012 11:28
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: Fehlerbereinigung
@faglork: Und was machst du gerade? ;o)
Im Übrigen wünscht sich kampkrusty nun mal die externe Lösung. Warum sollte man also über irgendwelche Paradigmen diskutieren?
Beitrag geändert von mörml (14. September 2012 11:29)
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline