molily: Sonderzeichen in Ankernamen

Beitrag lesen

Hallo,

Weiß jemand, ob das auch in irgendeinem URI-Standard so ausdrücklich vorgeschrieben wird?

S.o. - "non-ASCII values" sollen "illegal" sein - aber der Text unter obigem URL will gar nicht so sehr auf den Standard hinweisen, sondern will eher darauf hinaus, wie ein Client sich verhalten sollte, wenn ihm sowas nichts detso trotz unterkommt.

Das hieße ja, dass man in URIs gar keine nicht-ASCII-Zeichen verwenden dürfte und die %-Maskierung nur zur Umschreibung von ASCII-Zeichen gedacht ist. Offenbar sieht das RFC 3986 anders, der letzte Absatz von »Identifying Data« weist auf UTF-8 hin (wobei ich den Abschnitt nicht ganz verstehe).

Ich frage mich, was ich in SELFHTML nun schreiben soll.

Wie wär's mit der _Empfehlung_, sowas gleich von Anfang an zu vermeiden - um evtl. daraus entstehenden Problemen gar nicht erst die Stirn bieten zu müssen ...?

Eine einfache Empfehlung, sich das alles nicht anzutun und nur lateinische Buchstaben und ._- zu benutzen, ist nach wie vor drin.
Ich finde es eben sinnvoll, die Gründe dieser Empfehlung anzureißen, wenn wir überhaupt damit anfangen, die Frage »welche Zeichen sind erlaubt« zu behandeln. Zudem muss an dieser Stelle auch noch auf id als Anker hingewiesen werden (das steht in 8.1 gaaanz unten in den Anhängen).

  • name-Attribute in HTML haben nahezu keine Begrenzung, man könnte z.B. <a name="♠♣♥♦"> notieren, wie man lustig ist
  • URI begrenzt die möglichen Zeichen in Ankern sehr streng
  • Anker lassen sich auch mit id-Attributen lösen. id-Attribute in HTML haben eine sehr strenge Begrenzung, die gut mit der von URI harmoniert
  • In XHTML werdn Anker nur noch mit id gelöst. name- und id-Attribute in XHTML haben eine lasche Begrenzung auf »Buchstaben«, die gut mit URI und id in HTML harmoniert
  • Fazit: Selbstbeschränkung auf »a-zA-Z-._«, um kompatibel mit URI, id in HTML und id in XHTML zu sein.

Ich habe die neueste Version des Abschnitts »Wahl eines geeigneten Ankernamens« im Bugtracker gepostet.

Also http://bugs.selfhtml.org/bug.php?op=show&bugid=1008?

Nein, unter der verlinkten Adresse http://bugs.selfhtml.org/bug.php?op=show&bugid=928 ganz unten in den Kommentaren.

"Das erste Zeichen muss ein Buchstabe sein. Danach sind auch Ziffern erlaubt. Benutzen Sie als Sonderzeichen im Namen höchstens den Unterstrich (_), den Bindestrich (-), den Doppelpunkt (:) oder den Punkt (.)."

Wenn man das noch als Empfehlung kennzeichnet - nicht also wirklich normative oder buchstabengetreu auf den Standard bezogene Aussage - sollten doch m.E. alle damit leben können?

Das habe ich schon geändert, der Passus lautet momentan:
»(...) Sie sollten sich daher auf wenige Zeichen beschränken, die den verbreiteten Browsern keine Probleme machen. Folgende Faustregel hat sich in der Praxis als sicher herausgestellt: Verwenden Sie lediglich die lateinischen Buchstaben, die arabischen Ziffern sowie als Sonderzeichen höchstens den Unterstrich (_), den Bindestrich (-) und den Punkt (.). Als erstes Zeichen des Namens sollten Sie einen Buchstaben wählen.«

Da wäre vielleicht zu überlegen, ob man das irgendwie trennen kann - erst mal allgemeingültige, auch für Einsteiger verständliche und einleuchtende Erklärung - und wer's buchstabengetreu nach dem Standard haben will, für den dann ggf. noch mal eine gesonderte tiefere Betrachtung der Problematik, mit Verweis auf relevante Stellen des Standards ...?

Gute Idee. Ich habe in die Beschreibung schon Überschriften eingefügt, sodass man den Teil gegebenenfalls über springen kann. Ich werde versuchen, die Empfehlung direkt an den Anfang des Abschnitts zu stellen und die Erklärung samt Verweis auf id und XHTML darunter zu straffen.

Mathias