• Sonuç bulunamadı

3. YÖNTEM

3.2 Web Sayfası Değerlendirme Class’ı (Sınıf’ı)

3.2.2 Class’taki Fonksiyonlar ve Görevleri

3.2.2.4 Dönen Değerler ve Sonuç Fonksiyonları

Public fonksiyonlar tarafından döndürülen değerler; sayısal bir değer olabileceği gibi, bazen de NULL olabilmektedir. NULL değerler, genel olarak şu 2 durumda döndürülmektedir:

• Bir üst kritere sahip olan kriterlerde, üst kritere ilişkin bir değerin olmaması durumunda (örneğin img etiketlerinde alt niteliklerinin kullanımının hesaplanmasında sayfada hiç resim olmaması)

• El yordamı kullanılarak değerlendirilmesi gereken kriterlerde (örneğin çeşitli tarayıcılarda web sayfasının aynı içeriği verebilecek şekilde tasarlanması gibi)

Sayısal değerlerden birçoğu ise yüzdesel bir oranı ifade etmektedir. Örneğin img etiketlerinde alt niteliklerinin kullanımı gibi bir bütünün parçası olan kriterlerin uygunluk düzeylerinin belirlenmesinde, yüzdesel değerler döndürülmektedir. Yüzdesel değer döndüren bu şekildeki kriterler için, dizilerin anahtarları (key) adlandırılırken, anahtar adının sonuna “per” ifadesi getirilmiştir.

Bununla birlikte bazı sayısal değerler, ilgili kriterin değerlendirilen web sayfasında sağlanıp sağlanmadığını ifade etmektedir. Bunun için her olumlu durumda “1”, her olumsuz durumda ise “0” değeri döndürülmektedir. Örneğin bir web sayfasında doküman tip bildiriminin yapılması durumunda “1”, aksi takdirde

“0” değeri döndürülecektir. El yordamı gerektiren kriterlerde de aynı durum geçerlidir. Bu tür sayısal değer döndüren dizi anahtarları içinse, genellikle “value” ifadesi anahtar isimlerinde geçmektedir.

Öte yandan web sayfasının ilgili kriterden almış olduğu değere göre değerlendirme sonucunu belirlemek için, daha önceden de belirtildiği gibi test_functions.php adlı bir PHP betiği yazılmıştır (EK B.2). Public fonksiyonlar tarafından sıklıkla kullanılan bu betikteki fonksiyonlar, gönderilen değer(ler)e ve kriterin özelliğine göre ilgili dil dosyasındaki (EK B.3) sabitlerde tanımlı 6 çeşit sonuç döndürebilmektedir: • Başarılı • Başarısız • Olabilir • Olmayabilir • Belirlenemedi • Yok/değerlendirme dışı

“Başarılı” ve “Başarısız” sonuçları genel olarak el yordamı gerektirmeden değerlendirme yapılabilen; W3C HTML geçerlilik testi hata sayısı, img etiketlerinde alt niteliklerinin kullanımı gibi kriterlerin sonucunu bildirmekte iken, “Olabilir” ve “Olmayabilir” sonuçları özellikle içerik ile ilgili el yordamı gerektiren kriterlerin durumu hakkında bilgi vermektedir. “Belirlenemedi” ve “Yok/değerlendirme dışı” sonuçları ise genellikle kriterin özelliğine göre NULL değerlerinde döndürülmektedir. Örneğin img etiketleri alt niteliklerinin kullanımında, sayfada resim bulunmaması halinde bu kritere ilişkin “Yok/değerlendirme dışı” sonucu döndürülecekken, HTML form kullanımında; sayfada object/embed bulunması durumunda bu kritere ilişkin “Belirlenemedi” sonucu döndürülecektir. Öte yandan public fonksiyonlarda, değerlendirme sonuçlarını döndüren dizi anahtarları için, anahtar adlarında “test” ifadesi kullanılmıştır.

test_functions.php betiğinde, public fonksiyonlardan gönderilen değer, kriterin özelliği ile döndürülecek sonuçlar dikkate alınarak yazılmış 8 adet fonksiyon bulunmaktadır. Bu fonksiyonlar şu şekildedir:

• “test_eq” fonksiyonu (EK B.2)

Class içinde kriterden alınan değer ile kriterden beklenen değerin eşitliğini karşılaştırmak için kullanılan bu fonksiyon iki parametre ile çalışmaktadır. İlk parametre ile kriterin değeri ($val1), ikinci parametre ile karşılaştırılacak değer ($val2) gönderilmektedir. Fonksiyon, kritere ait değer NULL ise “Yok/Değerlendirme Dışı”, iki değer birbirine eşit ise “Başarılı”, değerler birbirine eşit değil ise “Başarısız” sonucunu döndürmektedir. Örneğin, web sayfasının W3C HTML geçerlilik testinden alınan hata sayısına göre başarılı, başarısız vb durumunu belirlemek için class içinde kullanılan kod: test_eq($htmlerrors, 0) şeklindedir.

• “test_lt” fonksiyonu (EK B.2)

İki parametreyle çalışan fonksiyon, ilk parametre ile kendisine gönderilen kritere ait değerin, ikinci parametre ile gönderilen diğer bir değerden küçük olup olmadığını karşılaştırmaktadır. Fonksiyon, kritere ait değer NULL ise “Yok/Değerlendirme Dışı”, kriterden alınan değer, diğer değerden küçükse “Başarılı”, aksi takdirde “Başarısız” sonucunu döndürmektedir.

• “test_gt” fonksiyonu (EK B.2)

“test_lt” fonksiyonuna benzer olan bu fonksiyon kriter değerinin, verilen diğer bir değerden büyük olup olmadığını karşılaştırmaktadır. Fonksiyon, kritere ait değer NULL ise “Yok/Değerlendirme Dışı”, kriterden alınan değer, diğer değerden büyükse “Başarılı”, aksi takdirde “Başarısız” sonucunu döndürmektedir

• “test_poss” fonksiyonu (EK B.2)

Tek parametre ile çalışan bu fonksiyon özellikle içerik ile ilgili kriterler gibi el yordamı gerektiren değerlendirme sonuçlarını döndürmektedir. Fonksiyon, kritere ait değer NULL ise “Belirlenemedi”, kriterden alınan değer “1” ise “Olabilir”, aksi takdirde “Olmayabilir” sonucunu döndürmektedir.

• “test_poss_rel” fonksiyonu (EK B.2)

İki parametre ile çalışan bu fonksiyon, el yordamı gerektiren ve bir üst kritere sahip olan kriterlerin değerlendirme sonuçlarını döndürmektedir. İlk parametre ile kriterin değeri, ikinci parametre ile üst kriterin değeri fonksiyona gönderilmektedir. Üst kriter bulunmuyorsa “Yok/Değerlendirme Dışı” sonucunu döndüren fonksiyon, üst kriterin sağlanması durumunda “test_poss” fonksiyonunu çalıştırmaktadır.

• “test_approp” fonksiyonu (EK B.2)

İki parametreyle çalışan fonksiyon, sayfa başlığının uygunluğu, resim haritalarının kullanım uygunluğu gibi sayfada yer aldıktan sonra el yordamı gerektiren kriterlerin değerlendirme sonuçlarını döndürmek için yazılmıştır. İlk parametre ile öncelikle kriterin sayfada var olup olmadığına ilişkin bir değer (sayfa başlığının karakter sayısı, resim haritaları sayısı gibi) gönderilmekte, ikinci parametre ile ise kullanım uygunluğunun durumu gönderilmektedir. Ancak kullanım uygunluğu için el yordamı gerektiğinden ikinci parametre kriterin bu yöntemle değerlendirmesi yapıldıktan sonra gönderilebilmektedir. Yöntem kısmında da daha önceden belirtildiği üzere bu gibi kriterlere ait değerler el yordamı değerlendirmesinden sonra geliştirilen araçla veritabanına kaydedilebilmektedir. Geliştiren araç da, ileride değinileceği gibi bu betikte yer alan fonksiyonları kullanmakta, dolayısıyla veritabanındaki değerlere ilişkin kriterlerin değerlendirme sonuçları görüntülenebilmektedir. Bu bağlamda söz konusu bu fonksiyon class içinden ilk parametre ile, araçta ise iki parametre ile birden çalıştırılmaktadır.

Fonksiyon öncelikle uygunluk değerinin olup olmadığına ($val2) bakmaktadır. Değer “1” ise “Başarılı”, “0” ise “Başarısız” sonucunu döndürmektedir. Eğer uygunluk değeri yok ise bu kez ilk parametre ($val1) ile gönderilen kritere ilişkin bir verinin olup olmadığına bakılmaktadır. Bu durumda $val1 sıfırdan büyük ise “Belirlenemedi”, aksi takdirde “Yok/Değerlendirme Dışı” sonucu döndürülmektedir.

• “test_other” fonksiyonu (EK B.2)

Bu fonksiyon el yordamı gerektiren, ancak değerlendirme sonucuna ilişkin; içerik ile ilgili kriterlerde olduğu gibi “Olabilir” veya “Olmayabilir” gibi bir öneri getirilemeyen kriterler için “arr_accessibility” fonksiyonu içerisinden kullanılmıştır. Tek parametre ile çalışan fonksiyon, NULL değerlerinde “Belirlenemedi”, “1” değerinde “Başarılı”, aksi takdirde “Başarısız” değerini döndürmektedir.

• “test_form” fonksiyonu (EK B.2)

HTML form kullanımı değerlendirme sonucunu belirlemek için yazılmış bu fonksiyonda dört parametre bulunmaktadır. İlk parametre form sayısı, ikinci ve üçüncü parametreler sırasıyla object ve embed sayısı, son parametre ise HTML form kullanımı yüzdelik oranıdır. Fonksiyon “test_approp” fonksiyonuna benzer olarak çalışmakta, sayfada object/embed bulunması halinde el yordamı değerlendirmesi gerektiğinden son parametreye class içinden NULL değeri gönderilmektedir.

Fonksiyon, var ise öncelikle sonra parametreye bakmakta ve oran “100” olduğunda “Başarılı”, aksi takdirde “Başarısız” sonucunu döndürmektedir. Son parametre NULL değer içerdiğinde ise fonksiyon; sayfada object ve embed nesnelerinin olmadığı durumlarda, HTML form sayısı 0’dan büyükse “Başarılı”, değilse “Yok/Değerlendirme Dışı” sonucunu, sayfada object ve embed nesnelerinin olduğu her durumda el yordamı gerektiği için “Belirlenemedi” sonucunu döndürmektedir.