Paikkamerkkilinkit
Silktide löytää linkit, jotka osoittavat osoitteeseen #, joka tarkoittaa verkko-osoitteena "tämän sivun yläosaa". Ne ovat yleensä paikkamerkkejä – linkkejä, jotka lisättiin ennen kuin niiden kohde oli olemassa ja joita ei koskaan päivitetty – tai komentosarjojen käynnistämiseen kaapattuja linkkejä.
<!-- Jäljelle jäänyt paikkamerkki: ei johda mihinkään hyödylliseen -->
<a href="#">Lue lisää</a>
<!-- Komentosarjan suorittamiseen väärinkäytetty linkki -->
<a href="#" onclick="openMenu()">Valikko</a>
Miksi tämä on tärkeää
Vierailija, joka napsauttaa #-linkkiä, odottaa siirtyvänsä jonnekin. Sen sijaan sivu vain vierittyy ylös, mikä vaikuttaa rikkinäiseltä. Kun mallia käytetään käynnistämiseen, se johtaa myös avustavaa teknologiaa harhaan: ilmoittaa sen linkkinä ja lupaa siirtymisen, vaikka se toimii todellisuudessa painikkeena – ja jos komentosarjojen lataaminen epäonnistuu, se ei tee mitään.
Nämä linkit ovat yleensä jäänteitä: mallipohja toimitettiin paikkamerkkinavigoinnilla tai "tulossa pian" -linkkiä ei kukaan tarkistanut uudelleen.
Näin korjaat sen
- Jos linkin oli tarkoitus johtaa jonnekin, aseta sen
href-määritteeseen oikea kohde. - Jos se käynnistää komentosarjan, korvaa se
<button>-elementillä, jota odottaa toimintojen yhteydessä:
<!-- Ennen: linkki, joka esittää painiketta -->
<a href="#" onclick="openMenu()">Valikko</a>
<!-- Jälkeen: oikea painike, jonka voit tyylitellä haluamallasi tavalla -->
<button onclick="openMenu()">Valikko</button>
- Jos linkillä ei ole mitään tarkoitusta, poista se tai korvaa se tavallisella tekstillä.
- Jos
#-linkki on aidosti tarkoituksellinen – esimerkiksi kehys lisää siihen luotettavasti toiminnallisuutta – löydös, jotta sitä ei nosteta esiin uudelleen.
Miten Silktide testaa tämän
- Etsi jokaiselta sivulta kaikki tavalliset linkit.
- Raportoi jokainen linkki, რომლის
hrefon täsmälleen#.
Linkit sivun nimettyihin kohtiin, kuten #news, ovat sallittuja eikä niitä raportoida.
Vianmääritys
Linkki toimii, koska JavaScript käsittelee sen
Se toimii hiiren käyttäjille, kun komentosarjat latautuvat oikein, mutta avustava teknologia ilmoittaa sen silti linkkinä ja sivu vierittyy silti ylös, kun komentosarja epäonnistuu. <button> toimii oikein kaikissa näissä tilanteissa. Jos merkinnän muuttaminen ei ole käytännöllistä, hyväksy löydös.
# tulee kehyksestä tai CMS-komponentista
Joidenkin kehysten valikko- ja välilehtikomponentit sekä -teemat luovat oletusarvoisesti href="#"-määritteen. Tarkista komponentin dokumentaatiosta, voiko sen sijaan hahmontaa painikkeen tai oikean kohteen.