• Sonuç bulunamadı

5. SONUÇ VE ÖNERİLER

5.1 Class ve Araç ile İlgili Sonuç ve Öneriler

Araç geliştirilirken direk olarak aracın kodlanmasına geçilmemiş, öncelikle belirlenen kriterler çerçevesinde değerlendirme işlemlerini yapabilen bir class yazılarak hem bu aracın çekirdeği oluşturulmuş hem de sonradan bu aracı geliştirmek isteyen geliştiricilere kolaylık sağlanmaya çalışılmıştır. Aracın kodlanmasında da aynı fonksiyonellik gösterilmeye çalışılmış, gerek ara yüz için gerekse de kriter açıklamaları için İngilizce ve Türkçe dil dosyaları oluşturularak araçta kullanılmıştır.

Bununla birlikte değerlendirme işlemlerinde kullanılmak üzere belirlenen kriterlerden bazıları el yordamı değerlendirmesi gerektirmektedir. Class, bu kriterlerde başarılı, başarısız vb kesin bir sonuç döndüremeyeceğinden, bu noktada kullanıcıya mümkün olduğunca kriterle ilgili; olabilir, olmayabilir gibi sonuçlar döndürülerek kullanıcının o kriterle ilgili bir fikre sahip olması düşünülmüştür. Öte yandan araçta da bu durum göz önünde bulundurulmuş ve el yordamı değerlendirilmesinden sonra belirlenen sonucun aracın veritabanına girilebilmesine olanak sağlanmıştır (yönetici modu).

Ayrıca geliştirilen araç ile bir web sayfası değerlendirildikten sonra o web sayfasının değerlendirme sonuçları, değerlendirilmiş bütün web sayfalarından elde edilen ortalama sonuç değerlerleriyle karşılaştırılabilmekte, ortalama sonuç değerleri

de alan adı ve/veya ülke koduna göre filtre edilebilmektedir. Bununla kullanıcıların, kendi alan adları grubu içinde durum değerlendirmeleri yapabilmesi amaçlanmıştır. Ortalama sonuç değerlerinin ise güncel olabilmesi açısından, web sayfalarının en son değerlendirildiği tarihteki değerlendirme sonuçları ortalamaya dahil edilmiştir.

Class ve araç geliştirilirken her aşamada sağlıklı sonuçların elde edilmesi için yüzlerce internet sitesi değerlendirilmiş, sonuçlar bu web sayfalarındaki HTML ve CSS verileriyle karşılaştırılmış ve mümkün olduğunca stabil (kararlı) bir class ve araç geliştirilmeye çalışılmıştır. Ancak gerek web sayfalarında bir işlemin birden çok teknolojiyle veya birden fazla yöntem ile yapılabilmesi, gerekse konunun ve kodlamanın da zorluğu dikkate alındığında geliştirilen class’ın ve aracın eksiklerinin olması kaçınılmaz olmaktadır. Bilinen eksikler, getirilen yorumlar ve öneriler şu şekildedir:

• Web sayfası değerlendirmelerinde salt HTML ve CSS kodlarına göre işlem yapılmıştır. Bu nedenle web sayfalarında javascript vb ile yapılanlar doğal olarak değerlendirme dışı kalmıştır. Bu durum class’ın ve/veya aracın bir eksiği olarak düşünülebilir. Ancak javascript kodları arasından veri çekebilme, bu dilin özelliğinden dolayı çok da olanaklı görünmemektedir. Kaldı ki “Kamu Kurumları İnternet Sitesi Kılavuzu”nda da script kullanımının çok gerekli durumlarla sınırlandırılması ve kullanıcıların script’leri görememesinden dolayı herhangi bir içerik eksikliğinin yaşanmaması gerektiği belirtilmektedir [10].

• Class’ın yazılmasında en çok CSS verisi gerektiren işlemlerde zorlanılmıştır. Tablolarda arka plan resminin kullanılmaması, resimlerde width niteliklerinin kullanılması gibi bazı kriterlerde hem HTML hem de CSS kodunun taranması gerekmektedir. Class’ta bu işlem “get_att” fonksiyonu ile (EK B.1) yapılmasına rağmen CSS tarafında; yaygın ancak sınırlı sayıda selector tanımlamalarına göre tarama yapılmıştır. Bu noktada CSS selector’leri özgüllük değerlerinin (specificity) hesaplanarak işlem yapılmasının daha kesin ve daha sağlıklı sonuçlar vereceği düşünülmektedir. Ancak buna karşılık da ilgili elementin parent, sibling vb elementlerinin HTML kodunda

analizi gerekmektedir. Class’taki “get_nodes2” fonksiyonunda (EK B.1), bununla ilgili bazı adımlar atılmış ancak devamı getirilememiştir.

• 216 renk paletinde yer alan renklerin onaltılık sayı sistemi kodları bilinmesine rağmen “css_color” fonksiyonunda (EK B.1), renkler tanımlanırken; CSSTidy’nin parse ve optimize işlemleri sonucu bu class’a göre tanımlama yapmak durumunda kalınmıştır. Bu nedenle CSSTidy class’ı güncelleştirildiğinde bu fonksiyondaki renk tanımlamalarının yeniden yapılması gerekebilir.

• “check_import” fonksiyonunda (EK B.1), import işlemlerinin CSS kodlarının başında yapıldığı kabul edilerek sadece “@import …” biçimindeki kodlamalar için düzenli ifade yazılmıştır. Bu fonksiyon ile import işlemlerinin CSS kodunun başında yapılıp yapılmadığının kontrolü ve “@media …” şeklinde import edilen CSS kodlarının da dikkate alınmasıyla daha verimli sonuçlar alınabilir.

• “arr_map” fonksiyonunda (EK B.1), istemci taraflı resim haritaları

için area yöntemiyle oluşturulan resim haritalarına göre kodlama yapılmıştır. Dolayısıyla diğer yöntemlerle oluşturulan resim haritaları bu fonksiyon tarafından görülemeyecektir. Fonksiyon bu yönde geliştirilerek diğer yöntemlerle oluşturulan resim haritaları ile ilgili bilgilerin de elde edilmesi sağlanabilir.

• frame ve iframe içeren web sayfalarında, frame ve iframe’ler için ayrıca analiz gerektiğinden class’ta bunlar göz ardı edilmiştir. Doğal olarak bunları içeren web sayfaları değerlendirildiğinde sağlıklı sonuçlar alınamayacaktır. Bu durum bir eksiklik olarak görülse de “Kamu Kurumları İnternet Sitesi Kılavuzu”nda sitelerde zorunlu olmadıkça çerçevelerin kullanılmaması, kullanılması durumunda ise sitenin çerçeve içermeyen bir sürümünün hazırlanması gerektiği belirtilmektedir [10].

• Yönlendirmelerin olduğu bazı web sayfalarında, yönlendirilen sayfa yerine yönlendirme kodunun olduğu sayfa elde edildiğinden doğal olarak değerlendirilmek istenilen gerçek web sayfası değerlendirilememektedir. Bu duruma yönlendirilen sayfa adresinin değerlendirilmesi geçici bir çözüm olsa da, class’ın bu yönde geliştirilmesinin araca esneklik sağlayacağı düşünülmektedir.

• HTML Tidy’nin özelliğinden dolayı niteliklere atanan boş değerlerde nitelikler tanımlanmamış olarak kabul edilmektedir. Bu durum özellikle alt niteliklerine atanan boş değerlerde bir eksiklik olarak düşünülebilir. Ancak web sayfalarında resimler kapatılarak dolaşılmak istenildiğinde veya Lynx vb metin tarayıcılarında web sayfaları görüntülendiğinde bu durumun içerik olarak eksikliklere neden olabileceği unutulmamalıdır.

• Bazı web sayfaları değerlendirilirken nadiren de olsa “allowed memory size of …” hatasıyla karşılaşılmıştır. Bu, geliştirilen aracın 256 MB belleğe sahip donanımsal olarak zayıf bir sunucuda çalışmasından kaynaklanmıştır.

• Class’ın bel kemiği, HTML ve CSS kodlarının en iyi şekilde parse edilmesi olduğu için class’ta yeni bir parser yazmak yerine bu işlemleri gerçekleştirebilen araçlar (HTML Tidy ve CSS Tidy) tercih edilmiştir. • Bir web sayfası değerlendirilmek istenildiğinde bu web sayfasına ait verilerin

kaydedilmesi için class tarafından otomatik olarak “www” klasörü ve bu klasörün içinde çeşitli klasörler oluşturulmaktadır. Bu nedenle “www” klasörüne yazma yetkisi verilmesi ve sahibinin “www” kullanıcısı olması gerekmektedir.

• İçerik ile ilgili kriterler için düzenli ifade desenleri yazılmıştır. Bu desenlerden bazıları, kriterle ilgili anahtar kelimeler eşleştiğinde, eşleşen kelimeleri geri döndürmektedir. Bu desenler geliştirilip değerlendirilen web sayfasında anahtar kelimelerin geçtiği cümleler geri döndürülebilirse kullanıcıya daha zengin bir içerik sunulabilir.

• Class’ta, değerlendirilen web sayfasının resimsiz ve resimlerle birlikte boyutu hesaplanmıştır. Web sayfalarında kullanılan diğer eklentiler göz önünde bulundurulmamıştır.

• “arr_accessibility” fonksiyonunda (EK B.1), web sayfasının sadece Lynx tarayıcısında görüntülenebilmesi ile ilgili öneri getirilmiştir. Bu fonksiyon geliştirilerek hem diğer tarayıcılar için hem de değişik çözünürlükler için öneri getirilmeye çalışılabilir.

• Çeşitli dillerde dil dosyaları hazırlanarak hem class’ın hem aracın bu yönde geliştirilmesi desteklenebilir.