Understanding WCAG 2.0

Skip to Content (Press Enter)

ARIA1: Az elérhető gazdag internetes alkalmazások (ARIA) leíró tulajdonságának alkalmazása egy leíró, algoritmikusan meghatározott címke létrehozására

Alkalmazás

Szkripteket és ARIA-t alkalmazó HTML és XHTML.

Szerkesztői megjegyzés: Ez a technika akkor lesz alkalmazható, amikor az ARIA specifikációk bekerülnek a W3C ajánlások közé.

Ez a technika az alábbiakra vonatkozik:

A felhasználói programre és a segítő technológia támogatására vonatkozó megjegyzések

2006. októberében a Windows alapon futó Firefox 1.5 és a Window-Eyes 5.5, illetve az említett programok modernebb verziói támogatták az ARIA-t. A további felhasználói programokat és segítő technológiákat érintő támogatás kifejlesztése folyamatban van. Ez a technika a Firefox 2.0 frissítéseire támaszkodik, annak érdekében, hogy a describedby attribútum egy elem szerepének a meghatározása nélkül váljon használhatóvá.

Leírás

A technika célja az, hogy bemutassa az ARIA descibedby tulajdonságának segítségével készített leíró információt, amely a felhasználói program által algoritmikusan meghatározott felhasználói interfész vezérlőről szolgáltat adatokat. Az ARIA technika segítségével az elemhez társított algoritmikusan meghatározott információk útján kiegészítő adatok közölhetők az adott elemről. Ezt a kiegészítő információt a felhasználói program jeleníti meg a felhasználónak. Például a describedby tulajdonság olyan információt is megjeleníthet, amely a felhasználói interfész vezérlőt körülvevő tartalomban található, de normális körülmények között a segítő technológiát alkalmazó felhasználó nem észleli azt.

Példák

1. példa: HTML

Ebben a példában a describedby tulajdonság szkriptek segítségével kerül a hozzáadásra a lap felhasználói interfész vezérlőihez. A szkriptek ebben az esetben azért fontosak, mert a "describedby" nem része a HTML-nek és közvetlen hozzáadása megakadályozhatja a kijelölés hitelesítését. A névtartományokat támogató felhasználói programok esetében a setAttributeNS()API alkalmazás segítségével lehet a megfelelő módon programozni a beállítást. Más felhasználói programoknál a setAttribute()API használatával lehet a kívánt állapotot elérni, míg a névtartomány a describedby attribútum kezdetéhez adott statikus szöveg sztring segítségével szimulálható.

Az alábbi példában két tömbváltozat, buttonIds és linkIds, kerülnek elkészítésre. Minden tömbben megtalálhatók a leírásokat tartalmazó elemek azonosítói. A tömbök a describedby tulajdonságot alkalmazó elemek azonosítóin keresztül kerülnek indexelésre. A setDescribedBy()funkciót az ablak onload eseménye aktiválja.

A setDescribedBy()funkció az összes gombot megtalálja a lapon. A funkció meglátogatja az összes gombot, és az azonosítókat indexként használva megkeresi a buttonIds tömbben a társított azonosító értékeket. Ez az id attribútum tartalmazza a gombhoz társított szöveges leírást. Abban az esetben, ha talál egy társított elemet a szkript a setAttrNS()funkció segítségével a gombhoz rendeli a describedby tulajdonságot.

A setDescribedBy()funkció a horgony elemeket is megtalálja a lapon és a velük kapcsolatban is a fent leírt műveletet végzi el. Ebben az esetben a linksId tömböt vizsgálja át és a setAttrNS() funkció segítségével minden egyes hivatkozáshoz hozzárendeli a describedby tulajdonságot.

A setAttrNS() funkció, amennyiben elérhető, az attribútum beállítása érdekében a setAttributeNS() API funkciót aktiválja. Ennek során a States and Properties Module for Accessible Rich Internet Applications (ARIA States and Properties) című részhez, "http://www.w3.org/2005/07/aaa", a megfelelő névtartomány URI-t alkalmazza. Abban az esetben, ha a felhasználói program nem rendelkezik a setAttributeNS() API-val, akkor a szükséges attribútum névhez az "aaa:" statikus szimulált névtartomány kerül hozzáadásra, és a setAttribute() API segítségével kerül beállításra.

Az ARIA-t támogató felhasználói program és/vagy segítő technológia használatakor a kiegészítő leírás a felhasználói interfész vezérlő fókuszba kerülésekor jelenik meg.

Példa kód:


 <head>
 <meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />
 <title>Demonstration of describedby property</title>
 <style type="text/css">
 div.form p { clear:left; margin: 0.3em 0;}
.left {
  float:left;
  width:400px;
}
.right {
        width:100px;
        text-align:right;
}
 </style>
 <script type="text/javascript">
 //<![CDATA[
 // array entries for each button on the page that associates the button id 
 // with the id of the element containing the text which describes the button
 var buttonIds = new Array();
 buttonIds["fontB"]= "fontDesc";
 buttonIds["colorB"] = "colorDesc";
 buttonIds["customB"] = "customDesc";
 // array entries for each link on the page that associates the link id with
 // the id of the element containing the text which describes the link
 var linkIds = new Array();
 linkIds["iceberg"] = "icebergInfo";
 // function that is run after the page has loaded to set the describedBy
 // property on each of the elements referenced by the array of id values
 function setDescribedBy(){
        if (buttonIds){
                var buttons = document.getElementsByTagName("button");
                if (buttons){
                        var buttonId;
                        for(var i=0; i<buttons.length; i++){
                                buttonId = buttons[i].id;
                                if (buttonId && buttonIds[buttonId]){
                                        setAttrNS(buttons[i], "describedby", buttonIds[buttonId]);
                                }
                        }
                }
        }
        if (linkIds){
                var links = document.getElementsByTagName("a");
                if (links){
                        var linkId;
                        for(var k=0; k<links.length; k++){
                                linkId = links[k].id;
                                if (linkId && linkIds[linkId]){
                                        setAttrNS(links[k], "describedby", linkIds[linkId]);
                                }
                        }
                }
        }
 }
 // method to set the attribute values based on the capability of the browser.  
 // Use setAttributeNS if it is available, otherwise append a namespace 
 // indicator string to the attribute and set its value.
 function setAttrNS(elemObj, theAttr, theValue){
         elemObj.setAttribute("aria-" + theAttr, theValue);
 }
 // simulated action function - currently just displays an alert
 function doAction(theAction){
        alert("Perform the " + theAction + " action");
 }
 window.onload=setDescribedBy;
//]]>
 </script>
 </head>
 <body>
 <p>The buttons on this page use the Accessible Rich Internet Applications 
 describedby property to provide more detailed information 
 about the button action
 </p>
 <div class="form">
 <p><span class="left" id="fontDesc" >Select the font faces and sizes to be used on this page</span>
    <span class="right"><button id="fontB" onclick="doAction('Fonts');"> Fonts </button></span>
 </p>
 <p><span class="left" id="colorDesc" >Select the colors to be used on this page</span>
    <span class="right"><button id="colorB" onclick="doAction('Colors');"> Colors </button></span>
 </p>
 <p><span class="left" id="customDesc" >Customize the layout and styles used on this page</span>
    <span class="right"><button id="customB" onclick="doAction('Customize');"> Customize </button></span>
 </p>
 </div>
 <p>The link in this paragraph has been updated with the Accessible Rich 
 Internet Applications describedby property to provide more information
 about the link</p>
 <p> <span id="icebergInfo">Alaskan storm cracks iceberg in Antarctica. </span> 
 A bad storm in Alaska last October generated an ocean swell that broke apart 
 a giant iceberg near Antarctica six days later, U.S. researchers reported on Monday. 
 <a href="http://www.sciencemag.com/iceberg.html" id="iceberg">More Info...</a>.
 </p>
 </body>
 
2. példa: XHTML

Az alábbi példa XHTML kódolással került elkészítésre az application:xhtml+xml MIME típusával. A MIME típust nem támogatja minden felhasználói program. A describedby tulajdonsághoz történő hozzáféréshez egy xml névtartomány kerül megállapításra. A describedby információ közvetlenül az XHTML kijelöléshez kerül hozzáadásra, így ez további szkripteket nem igényel.

Példa kód:


<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
 xmlns:waistate="http://www.w3.org/2005/07/aaa" >
 <head>
 <meta http-equiv="content-type" content="application:xhtml+xml; charset=utf-8" />
 <title>Demonstration of describedby property</title>
 <style type="text/css">
 div.form p { clear:left; margin: 0.3em 0;}
 .left {
   float:left;
   width:400px;
 }
 .right {
   width:100px;
   text-align:right;
 }
 </style>
 </head>
 <body>
 <p>The buttons on this page use the Accessible Rich Internet Applications describedby property 
 to provide more detailed information about the button action</p>
 <div class="form">
 <p><span class="left" id="fontDesc" >Select the font faces and sizes to be used on this page</span>
 <span class="right"><button id="fontB" onclick="doAction('Fonts');" waistate:describedby="fontDesc">
 Fonts </button></span></p>
 <p><span class="left" id="colorDesc" >Select the colors to be used on this page</span>
 <span class="right"><button id="colorB" onclick="doAction('Colors');" waistate:describedby="colorDesc">
 Colors </button></span></p>
 <p><span class="left" id="customDesc" >Customize the layout and styles used on this page</span>
 <span class="right"><button id="customB" onclick="doAction('Customize');" 
 waistate:describedby="customDesc"> Customize </button></span></p>
 </div>
 <p>The link in the next paragraph has been updated with the Accessible Rich Internet Applications 
 describedby property to provide more information about the link</p>
 <p> <span id="icebergInfo">Alaskan storm cracks iceberg in Antarctica. </span> 
 A bad storm in Alaska last October generated an ocean swell that broke apart a giant 
 iceberg near Antarctica six days later, U.S. researchers reported on Monday. 
 <a href="http://www.sciencemag.com/iceberg.html" id="iceberg" waistate:describedby="icebergInfo">More Info...</a>.
 </p>
 </body>
 </html>
 

Források

A források csak információs célokat szolgálnak, és csak angolul elérhetőek.

Ellenőrzések

Folyamat
  1. Töltse le a lapot az ARIA-t támogató felhasználói programsel és/vagy segítő technológiával.

  2. Az ARIA-t támogató felhasználói programsel navigáljon minden describedby tulajdonsággal módosított felhasználói interfész vezérlőhöz és ellenőrizze a megfelelő leírás megjelenítését.

Elvárható eredmények
  • A 2. pont igaz.


Teljesítési feltételek: