[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Barrierefreiheit: Abkürzungen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

Barrierefreiheit: Abkürzungen

3. Feb 2005, 10:00

Hallo zusammen,

aufgrund das ich ein paar Seiten barrierefrei gestalten muss, bin ich auf der suche, etwas wie einen outputfilter o.ä. zu definieren der bestimmte Wörter wie z.b.

"z.B."
durch
<abbr class="shorthandle" title="zum Beispiel">z.B.</abbr>

ersetzen kann.

Diese Liste von Wörtern würde ich natürlich gern selbst definieren.

Also so eine Liste Anahand eines AddOns in Redaxo einzubinden ist denk ich mal kein Problem, nur weiss ich nicht wo ich ansetzen könnte, diesen parser auf den Inhalt des textes loszulassen?

Vielleicht bei

Code: Alles auswählen

<?php echo $this->getArticle() ?>
mit

Code: Alles auswählen

<?php echo replace_shortcuts( $this->getArticle()) ?>

???


oder gibt es eure Meinung nach einen Punkt an dem es besser positionier wäre?

Danke und Gruß,
Markus

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

14. Feb 2005, 16:46

also ich hab jetzt mittlwerweile ein modul geschrieben, weiss aber noch nicht so recht wo ich mit meiner funktion ansetzen könnte.

Code: Alles auswählen

function glossar_replace( $string) {
    $sql = new sql;
    $sql->setQuery("select * from rex__glossar order by shortcut");
    
    for($i=0;$i<$sql->getRows();$i++)
    {
        $language = $sql->getValue("language");
        if ( $language == 0) {
            $language = $I18N_GLOSSAR->msg('lang_de_short');
        } elseif ( $language == 1) {
            $language = $I18N_GLOSSAR->msg('lang_en_short');
        } else {
            $language = $I18N_GLOSSAR->msg('lang_fr_short');
        }
        
        $id = $sql->getValue("short_id");
        $shortcut = htmlentities($sql->getValue("shortcut")); 
        $description = htmlentities($sql->getValue("description"));
        
        $casesense = $sql->getValue("casesense");
        
        $search = $shortcut;
        $replace = '<span title="'. $description .'" class="shortcut">'. $shortcut .'</span>'; 
        $subject = $string;
        
        if ( $casesense == 0) {
            $string = str_ireplace( $search, $replace, $subject);
        } else {
            $string = str_replace( $search, $replace, $subject);
        }
    }
    
    return $string;
}
Danke und Gruß,
Markus

Benutzeravatar
vscope
Beiträge: 477
Registriert: 24. Aug 2004, 22:11
Wohnort: Austria/Vienna
Kontaktdaten: ICQ Website

14. Feb 2005, 21:08

<?php echo replace_shortcuts( $this->getArticle()) ?>

find ich ok wenns nicht probleme mit der performance macht.

caching einschalten.
dann ist es 0 problem.

sonst ist die nur die frage ob du es nur in den article texten brauchst oder
auch in den templates.

wenn in beiden ist obriges gut sonst würd ichs beim parsen
der article reinhängen class.article.inc.php glaub ich.

weiss aber nicht wieviel das im endeffekt an performance bringt,
kommt auf das template an ....

lg

vscope

PS: Performance ist mein Steckenpferd ;)

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

15. Feb 2005, 16:28

vscope hat geschrieben:<?php echo replace_shortcuts( $this->getArticle()) ?>
jo das hab ich eigentlich auch gedacht, aber das geht nicht, da $this->getArticle() alles direkt in den outputbuffer schreibt und nicht als String zurückgibt...

----------------------

Code: Alles auswählen

   <?php 
             ob_start();
             $this->getArticle();
             $c = ob_get_contents();
             ob_end_clean();
             echo glossar_replace( $c); 
           ?>

also ich habs jetzt erstma so gemacht....


--------------------------------


es wäre nicht schlecht wenn es eine datei geben würde in die der user ein paar funktionen reinschreiben könnte.

sprich eine user.inc.php o.ä.

so könnte der user ohne im inneren von redaxo etwas ändern zu müssen eigene funktionen schreiben und verwenden



------------------

ich hab hier noch was komisches.

sobald ich mein modul aktiviere erhalte ich folgende fehlermeldung:

Warning: strstr(): Empty delimiter. in E:\wwwroot\html\sokba\redaxo\include\classes\class.sql.inc.php on line 169

wenn ich es aber deaktiviere ist alles in butter.... ;(
Zuletzt geändert von Markus.Staab am 15. Feb 2005, 19:02, insgesamt 1-mal geändert.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

15. Feb 2005, 19:01

kills hat geschrieben: ich hab hier noch was komisches.

sobald ich mein modul aktiviere erhalte ich folgende fehlermeldung:

Warning: strstr(): Empty delimiter. in E:\wwwroot\html\sokba\redaxo\include\classes\class.sql.inc.php on line 169

wenn ich es aber deaktiviere ist alles in butter.... ;(
das problem konnte ich lösen

in der config.inc.php muss ein wert für $REX[ADDON][perm][$mypage] gesetzt sein

Code: Alles auswählen

<?php

$mypage = "glossar"; 				// only for this file

$I18N_GLOSSAR = new i18n($REX[LANG],$REX[INCLUDE_PATH]."/addons/$mypage/lang/"); 	// CREATE LANG OBJ FOR THIS ADDON

$REX[ADDON][page][$mypage] = "$mypage";
$REX[ADDON][name][$mypage] = "Glossar";
$REX[ADDON][perm][$mypage] = "glossar[]";

?>

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

15. Feb 2005, 19:23

Warum verwendest du überhaupt <abbr>?

gruss Thomas

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

15. Feb 2005, 19:45

tbaddade hat geschrieben:Warum verwendest du überhaupt <abbr>?

gruss Thomas
nirgends das mach ich mit den spann....

das mit dem abbr geht glaub ich nicht bei jedem Browser deshalb wollte ich es so machen.

Mein Addon ist übrigens fertig und wenn jemand interesse hat würde ich hergeben

Gruß,
Markus

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

15. Feb 2005, 19:59

bin auf jedenfall daran interessiert. ich programmiere meistens in xhtml und css und da wäre dein addon eine super hilfe.

<abbr> funktioniert im ie nicht.

viele grüße thomas

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

15. Feb 2005, 20:19

tbaddade hat geschrieben:bin auf jedenfall daran interessiert. ich programmiere meistens in xhtml und css und da wäre dein addon eine super hilfe.

<abbr> funktioniert im ie nicht.

viele grüße thomas
ich werde es bei Gelegenheit mit Installationsanleitung ins wiki stellen

Gruß, Markus

blubb
Beiträge: 33
Registriert: 13. Jul 2005, 13:39
Wohnort: Hannover

15. Jul 2005, 19:08

Hi Markus,
kills hat geschrieben: nirgends das mach ich mit den spann....

das mit dem abbr geht glaub ich nicht bei jedem Browser deshalb wollte ich es so machen.
Frage ist nur, was bzw. wem es mit span etwas bringen soll, gerade in Hinblick auf Barrierefreiheit. Die Screenreader lesen meines Wissens abbr aus (span natürlich nicht!).

korrekt ist es so, mit Angabe der Sprache, wobei sich die Gelehrten noch streiten, ob oder wann man abbr bzw. acronym benutzt:

Code: Alles auswählen

<abbr title="Mediendienste-Staatsvertrag" lang="de">MDStV</abbr>

<abbr title="Uniform Resource Locator" lang="en">URL</abbr>
und im Stylesheet wird es oft so gemacht:

Code: Alles auswählen

abbr {
	border-bottom: 1px dotted #000;
	cursor: help;
}
Wie Thomas schon richtig schreibt, wird das im IE bis einschließlich Version 6 nicht angezeigt.
Das Entscheidende ist m.E. jedoch nicht, dass es optisch zu sehen ist, sondern zur Barrierefreiheit beiträgt, sonst hilft es nicht wirklich!

Zudem kann man abbr ja per CSS eine Klasse mit denselben Eigenschaften zuordnen, z.B.:

Code: Alles auswählen

<abbr class="shorttag" title="Mediendienste-Staatsvertrag" lang="de">MDStV</abbr>

Code: Alles auswählen

abbr,.shorttag {
	border-bottom: 1px dotted #000;
	cursor: help;
}
oder wenn das nicht hilft, Folgendes:

Code: Alles auswählen

<span class="shorttag"><abbr title="Mediendienste-Staatsvertrag" lang="de">MDStV</abbr></span>
Für Barrierefreiheit ist semantisch korrektes (X)HTML unabdingbar!

Gruß
Thorsten

bibi
Beiträge: 94
Registriert: 9. Jul 2005, 04:26
Wohnort: Bielefeld

16. Jul 2005, 00:03

moinsen :)

mal ne blöde Frage ... ;)

Wieso muß man das Suchen und ersetzen als 'Modul' bauen? Ich dachte, sowas ist die Aufgabe von 'Actions'? Die Glossarverwaltung als 'Modul' verstehe ich natürlich ... ;)

Gruß,
Carsten

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

16. Jul 2005, 15:25

bibi hat geschrieben:moinsen :)

mal ne blöde Frage ... ;)

Wieso muß man das Suchen und ersetzen als 'Modul' bauen? Ich dachte, sowas ist die Aufgabe von 'Actions'? Die Glossarverwaltung als 'Modul' verstehe ich natürlich ... ;)

Gruß,
Carsten
Hi Carsten,

das ganze ist nicht als Modul sondern als Addon gebaut.

Das ganze über Actions zu lösen ist natürlich auch eine gute Idee, nur zum damaligen Zeitpunkt kannte ich den Sinn u. Zweck von Actions nicht, deshalb wird ganze per Funktion und OutputBuffer gelöst.

Bei gelegenheit gibts vielleicht ne Version mit Actions :)

@blubb:

Hm ich vermute du hast recht wegen den abbr...
Ich werde das wohl ändern.. Danke für die Hinweise!

Gruß,
Markus

blubb
Beiträge: 33
Registriert: 13. Jul 2005, 13:39
Wohnort: Hannover

16. Jul 2005, 19:52

blubb hat geschrieben: wobei sich die Gelehrten noch streiten, ob oder wann man abbr bzw. acronym benutzt
Habe gerade in der neusten ct (Nr. 15) einen Artikel über das kommende XHTML 2 gelesen (S.174):

"<acronym> fällt ersatzlos zugunsten von <abbr> weg."

Damit wäre das auch geklärt.

Gruß
Thorsten

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

17. Jul 2005, 12:24

Hi Thorsen,

Klasse! Im nächsten release ist das auf jeden Fall drinn!

Gruß,
Markus

Zurück zu „Allgemeines [R2]“