การพัฒนาเว็บไซต์เพื่อคนพิการ

การพัฒนาเว็บไซต์เพื่อคนพิการ
การเข้าถึงเนื้อหาบนเว็บไซต์ ที่รองรับผู้ใช้ทุกกลุ่มไม่ว่าจะเป็นผู้พิการหรือบุคคลทั่วไป การออกแบบให้เว็บไซต์ให้สามารถเข้าถึงได้ หรือสอดคล้องกับข้อแนะนำ Web Accessibility ก็จะเป็นประโยชน์กับคนพิการทางสายตา คนพิการทางการได้ยิน คนพิการทางร่างกาย ผู้ใช้ที่ทุพลภาพชั่วคราว ผู้สูงอายุที่สายตาเลือนลาง จนกระทั่งผู้ใช้ปกติที่ใช้ช่องสัญญาณความเร็วต่ำ ให้สามารถเข้าถึงเนื้อหาในเว็บไซต์ได้อย่างเท่าเทียมกัน
การออกแบบเว็บไซต์ให้น่าสนใจต้องพิจารณา 3 ประการ คือ
1.ออกแบบเว็บไซต์ที่เน้นเนื้อหา เว็บไซต์บางประเภทจะเน้นเนื้อหา หรือข้อความเป็นหลัก ภายในเว็บไซต์จะประกอบไปด้วย ตัวหนังสือ มีภาพประกอบบ้างแต่ไม่มาก
2.ออกแบบเว็บไซต์ที่เน้นภาพกราฟิก
3.ออกแบบเว็บไซต์ที่เน้นทั้งภาพและเนื้อหา
แนวคิดในการออกแบบ การดูจากเว็บไซต์อื่นบนอินเตอร์เน็ตเพื่อศึกษาเป็นตัวอย่างนั้น นับเป็นวิธีการที่ง่ายที่สุด แต่ก็ควรนำไปประยุกต์ใช้ให้เหมาะสมกับเนื้อหาและกลุ่มเป้าหมาย ศึกษาจากสื่อสิ่งพิมพ์ในรูปแบบต่างๆ ที่มีรูปแบบ และจุดดึงดูดความสนใจ สามารถนำมาประยุกต์ใช้ในเว็บไซต์ได้เช่นกัน
การพัฒนาเว็บไซต์ให้ทุกคนสามารถเข้าถึงได้แล้ว จะส่งผลให้คนตาบอดอ่านเว็บไซต์โดยใช้ Screen Reader หรือโปรแกรมอ่านหน้าจอ และได้รับข้อมูลที่ถูกต้องหรือสมบูรณ์มากยิ่งขึ้น ไม่ว่าจะเป็นข้อมูลประเภทตัวหนังสือ ตัวเลข โดยเน้นลำดับการอ่านที่ถูกต้องตามการนำเสนอ หรือแม้รูปภาพ ซึ่งสามารถทดแทนได้ด้วยคำอธิบาย สำหรับผู้ที่สายตาเลือนลางอาจใช้โปรแกรมขยายหน้าจอเพื่อให้อ่านง่ายขึ้นเป็นต้น การพัฒนาเว็บไซต์ เป็นการปรับปรุงเนื้อหาภาพประกอบ หรืออัพเดทเว็บไซต์ถือเป็นขั้นตอนสำคัญ เพราะในโลกของอินเทอร์เน็ตมีการเปลี่ยนแปลงอย่างรวดเร็วอยู่ตลอดเวลา ผู้ชมเว็บมักจะใช้เวลาในการค้นหา และเปิดผ่านเว็บไซต์ต่างๆ อย่างรวดเร็วหากพบว่าเว็บไซต์ของเราไม่ได้เปลี่ยนแปลงหรือมีข้อมูลใหม่ๆ เพิ่มขึ้นเลยผู้เข้าชมเว็บก็จะลดจำนวนลงไปเรื่อยๆ จนกลายเป็นเว็บที่ไม่มีผู้คนเข้ามาเลยหรือเป็นเว็บที่ตายแล้ว ดังนั้นการปรับปรุงเว็บไซต์อยู่เสมออาจจะวันละครั้ง หรือสัปดาห์ละครั้ง โดยเพิ่มข้อมูล ข่าวสารใหม่ๆ อยู่เป็นประจำก็จะทำให้เว็บไซต์ทันสมัย ผู้คนเข้าชมเป็นประจำและมากขึ้นจนพัฒนาเป็นเว็บไซต์ยอดนิยมได้ในที่สุด

พัฒนาโปรแกรมด้วย Web Application มีค่าใช้จ่ายที่ไม่มากเลย เมื่อเทียบกับการใช้งานที่ทันสมัย

โปรแกรม Desktop Application เป็นโปรแกรมทั่วไปที่มีการใช้อย่างอย่างแพร่หลาย โดยจะติดตั้งอยู่บนคอมพิวเตอร์ส่วนบุคคล ในบางหน่วยงานใช้ระบบเก็บฐานข้อมูลร่วมกัน และยังตอบสนองในการใช้งานพร้อมกันหลายๆเครื่อง แต่ Desktop Application ไม่สามารถตอบสนองความต้องการได้ทั้งหมด โดยเฉพาะการทำธุรกิจที่ต้องปรับเปลี่ยนไปตลอดเวลา จึงทำให้ต้องมีการ Upgrade หรือเพิ่มคุณสมบัติเพิ่มเติมให้กับ Application ที่ตัวเซิร์ฟเวอร์

Web Application (เว็บแอพพลิเคชั่น) สามารถตอบสนองปัญหาข้างต้นได้เป็นอย่างดี และสามารถแทนที่ Desktop Application ที่เป็น Client-Server Application ได้ ตัวโปรแกรมของ Web Application จะถูกติดตั้งไว้ที่ Server คอยให้บริการกับ Client และที่ Client ก็ไม่ต้องติดตั้งโปรแกรมเพิ่มเติม สามารถใช้โปรแกรมประเภท Brower ที่ติดมากับ OS ใช้งานได้ทันที อย่าง Internet Explorer หรือโปรแกรมฟรี ได้แก่ FireFox, Google Chrome ซึ่งกำลังเป็นที่นิยมเป็นอย่างมาก ด้วยความสามารถของ Brower ที่หลากหลาย ทำให้ไม่จำกัดว่าเครื่องที่ใช้เป็น OS อะไร หรืออุปกรณ์อะไร อย่างอุปกรณ์ TouchPad หรือ SmartPhone ก็สามารถเรียกใช้งานได้ ลดข้อจำกัดเรื่องสถานที่ใช้งานอีกด้วย

การทำงานของ Web Application นั้นโปรแกรมส่วนหนึ่งจะวางตัวอยู่บน Rendering Engine ที่ทำหน้าที่นำเอาชุดคำสั่งหรือรูปแบบโครงสร้างข้อมูลที่ใช้ในการแสดงผล นำมาแสดงผลบนพื้นที่ส่วนหนึ่งในจอภาพ โปรแกรมส่วนที่วางตัวอยู่บน Rendering Engine แล้วทำการการเปลี่ยนแปลงแก้ไขสิ่งที่แสดงผล จัดการตรวจสอบข้อมูลที่รับเข้ามาเบื้องต้นและการประมวลบางส่วนแต่ส่วนการทำงานหลักๆ ในลักษณะ Web Application พื้นฐาน

ในการทำแอพพลิเคชั่นคิดค่าใช้จ่ายจากขอบเขตของงาน และปริมาณของข้อมูลในระบบ ซึ่งทางโปรแกรมเมอร์จะคำนวณตามความซับซ้อนของชิ้นงาน ทำให้มีค่าใช้จ่ายแตกต่างกันไป อาจรวมไปถึงค่าดูแลระบบที่จะตามมาในอนาคตด้วย

นอกจากนี้ยังเหมาะกับการจองสินค้า การจองห้องพัก การจองโปรแกรมทัวร์ งานประเมินผล งานระบบห้องสมุด งานระบบลงทะเบียนในมหาวิทยาลัย และระบบงานอื่นๆที่ต้องใช้ข้อมูลรูปแบบออนไลน์ รวมไปถึงสามารถใช้งานเว็บแอพพลิเคชั่นผ่านทาง Internet ได้อีกด้วย ทำให้ไม่ว่าจะอยู่ที่ใดก็ตามจะสามารถเรียกใช้งานระบบได้อย่างรวดเร็ว ซึ่งการทำระบบแบบนี้มีค่าใช้จ่ายที่ไม่มากเลย เมื่อเทียบกับความสะดวกสบายในด้านการใช้งานที่ทันสมัย

แนวคิดแบบโครงสร้างหรือแบบกระบวนการ จัดเป็นการเขียนโปรแกรมในรูปแบบเดิม ๆ

Blue globe on the digital technology background

ในปัจจุบันภาษาในการเขียนโปรแกรมเพื่อพัฒนาระบบสารสนเทศที่ใช้ในองค์กรธุรกิจ มีมากมายหลายภาษาให้เลือก  การเรียนรู้ภาษาเขียนโปรแกรมหรือการมีความรู้ในหลาย ๆ ภาษาถือเป็นสิ่งที่ดี  แต่ไม่ได้หมายความว่าเราจำเป็นต้องเขียนโปรแกรมให้ได้ทุก ๆ ภาษา  แต่สามารถเลือกบางภาษาที่เรามีความถนัดหรือเลือกที่จะเริ่มต้นกับภาษาใด ภาษาหนึ่งได้  ซึ่งการเขียนโปรแกรมเชิงวัตถุถือได้ว่าได้รับความนิยมในปัจจุบันรวมถึงแนวโน้มในอนาคต  ซึ่ง Java  ก็เป็นหนึ่งในการเขียนโปรแกรมเชิงวัตถุ ที่มีพื้นฐานมาจากภาษา C   และคิดว่าน่าจะเป็นอีกภาษาหนึ่งที่น่าศึกษาและน่าเรียนรู้ เพราะเทคโนโลยีของ Java  ถือว่ากำลังร้อนแรงในแวดวงของ Software ดังนั้นในบทแรกนี้จึงขอแนะนำแนวคิดเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ และความรู้เบื้องต้นเกี่ยวกับภาษา Java  เพื่อเป็นการปรับพื้นฐานของท่านผู้อ่านให้มีความเข้าใจ  ก่อนเริ่มลงเมือเขียนโปรแกรมในบทต่อไป เพราะเหตุใดในปัจจุบันการเขียนโปรแกรมเชิงวัตถุ จึงเข้ามาแทนที่รูปแบบการเขียนโปรแกรมแบบเดิม ๆ   การเขียนโปรแกรมในรูปแบบเดิมมีจุดบกพร่องอย่างไร  และแบบใหม่สามารถแก้ไขจุดบกพร่องเหล่านั้นได้หรือไม่  เรามาดูความแตกต่างระหว่างการเขียนโปรแกรมภาษารูปแบบเดิมกับรูปแบบใหม่กัน

แนวคิดแบบโครงสร้างหรือแบบกระบวนการ จัดเป็นการเขียนโปรแกรมในรูปแบบเดิม ๆ  ซึ่งจุดประสงค์หลักในการเขียนโปรแกรมพัฒนาระบบงานสารสนเทศขึ้นมาใช้งานนั้นก็เพื่อ   ให้เครื่องคอมพิวเตอร์สามารถประมวลผลและวิเคราะห์ข้อมูล  แก้ปัญหาบางอย่างแทนมนุษย์  ดังนั้น  Concept  หรือวิธีการในการคิดสำหรับแก้ปัญหาของมนุษย์ ก็ถูกนำมาประยุกต์ใช้กับคอมพิวเตอร์  วิธีการก็คือ  ชุดคำสั่งของโปรแกรมที่เขียนขึ้นที่ใช้แก้ปัญหา  จะแยกปัญหาใหญ่ ๆ ออกเป็นส่วนย่อย ๆ แล้วค่อยแก้ไขไปทีละส่วนจนกว่าจะได้ผลลัพธ์ที่ต้องการ ซึ่งประยุกต์มาจากวิธีคิดของมนุษย์นั่นเอง  เช่น เราต้องแก้ปัญหาโจทย์คณิตศาสตร์ 200*3/6-100  ถ้ามนุษย์คิดโดยไม่ใช้เครื่องคำนวณ เราก็จะแยกคำนวณประโยคคณิตศาสตร์นี้ทีละส่วน โดยเราจะคำนวณตามลำดับความสำคัญของเครื่องหมายก่อน  คือ โดยจะคำนวณส่วนที่อยู่ในวงเล็บตัวในสุดก่อน ตามลำดับความสำคัญของเครื่องหมาย  ดังนั้นถ้าเราต้องการเขียนโปรแกรมเพื่อแก้โจทย์คณิตศาสตร์  วิธีการคิดเพื่อให้ได้คำตอบมานั้น หลักการก็จะไม่ต่างกับมนุษย์คิดเลย  หากเป็นระบบสารสนเทศ  เช่น ระบบงานฝ่ายทรัพยากรบุคคลทั้งระบบ ในระบบนี้จะประกอบไปด้วยส่วนงานย่อย ๆ  เช่น งานฝึกอบรม  งานข้อมูลบุคคลากร งานประเมินผลบุคคลากร การเขียนโปรแกรมก็จะแยกเป็นงานออกเป็น Function ย่อย ๆ ก่อน เพื่อให้ Function นั้นทำงานตามแต่ละหน้าที่ภายใน  หลาย ๆ Function รวมกันก็จะเป็นระบบใหญ่

กำหนดรายละเอียดของโปรแกรมให้เข้าถึงการทำงานในส่วนต่าง ๆ ของคอมพิวเตอร์ด้วยภาษาซี

1

ภาษาซีเป็นภาษาที่มีความใกล้เคียงกับภาษาระดับต่ำจึงทำให้นักพัฒนาโปรแกรม สามารถที่จะกำหนดรายละเอียดของโปรแกรมให้เข้าถึงการทำงานในส่วนต่าง ๆ ของคอมพิวเตอร์ให้มากที่สุดเพื่อให้เกิดความเร็วในการทำงานสูงสุด และในขณะเดียวกันภาษาซีก็ยังมีความเป็นภาษาระดับสูง (High-Level Language) ทำให้ผู้พัฒนาสามารถที่จะพัฒนาโปรแกรมได้ โดยเน้นไปที่การแก้ปัญหาที่ต้องการได้อย่างอิสระโดยไม่ต้องคำนึงถึงฮาร์ดแวร์ใด ๆ ภาษาซีเกิดขึ้นในปี ค.ศ. 1972 ผู้คิดค้นคือ นายเดนนิส  ริทชี่ โดยพัฒนามาจากภาษา B และ ภาษา BCPL แต่ยังไม่มีการใช้งานอย่างกว้างขวางนัก ในปี ค.ศ. 1978 Brain Kernighan ได้ร่วมกับ Dennis Ritchie มาพัฒนามาตรฐานของภาษาซีเรียกว่า K&R ทำให้มีผู้สนใจเกี่ยวกับภาษาซีมากขึ้น จึงเกิดภาษาซีอีกหลายรูปแบบเพราะยังไม่มีการกำหนดรูปแบบภาษาซีที่เป็นมาตรฐาน และในปี 1988 Ritchie  จึงได้กำหนดมาตรฐานของภาษาซีเรียกว่า ANSI C เพื่อใช้เป็นตัวกำหนดมาตรฐานในการสร้างภาษาซีรุ่นต่อไปภาษาซี เป็นภาษาซีระดับกลางเหมาะสมสำหรับการเขียนโปรแกรมแบบโครงสร้าง เป็นภาษาที่มีความยืดหยุ่นมากคือใช้งานได้กับเครื่องต่างๆ ได้และปัจจุบันภาษาซีเป็นภาษาพื้นฐานของภาษาโปรแกรมรุ่นใหม่ ๆ เช่น C++

ขั้นตอนที่ 1 เขียนโปรแกรม ใช้ editor เขียนโปรแกรมภาษาซีและทำการบันทึกไฟล์ให้มีนามสกุลเป็น .c  เช่น  work.c เป็นต้น editor  คือ โปรแกรมที่ใช้สำหรับการเขียนโปรแกรม  โดยตัวอย่างของ editor  ที่นิยมนำมาใช้ในการเขียนโปรแกรมได้แก่  Notepad,Edit ของ Dos ,TextPad  ,Dev C++  และ  EditPlus  เป็นต้น ผู้เขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรียนโปรแกรมก็ได้  แล้วแต่ความถนัดของแต่ละบุคคล

ขั้นตอนที่  2 คอมไพล์โปรแกรม นำ source code จากขั้นตอนที่ 1 มาทำการคอมไพล์  เพื่อแปลจากภาษาซีที่มนุษย์เข้าใจไปเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้  ในขั้นตอนนี้คอมไพเลอร์จะทำการตรวจสอบ  source code  ว่าเกิดข้อผิดพลาดหรือไม่หากเกิดข้อผิดพลาด จะแจ้งให้ผู้เขียนโปรแกรมทราบ  ผู้เขียนโปรแกรมจะต้องกลับไปแก้ไขโปรแกรมและทำการคอมไพล์โปรแกรมใหม่ อีกครั้ง หากไม่พบข้อผิดพลาด  คอมไพเลอร์จะแปลไฟล์  source code จากภาษาซีไปเป็นภาษาเครื่อง (ไฟล์นามสกุล .obj) เช่น ถ้าไฟล์ source code ชื่อ work.c ก็จะถูกแปลไปเป็นไฟล์  work.obj  ซึ่งเก็บภาษาเครื่องไว้เป็นต้น compile เป็นตัวแปลภาษา รูปแบบหนึ่ง  มีหน้าที่หลักคือการแปลภาษาโปรแกรมที่มนุษย์ เขียนขึ้นไปเป็นภาษาเครื่อง โดยคอมไพเลอร์ของภาษาซี คือ  C  Compiler ซึ่งหลักการที่คอมไพเลอร์ใช้  เรียกว่า  คอมไพล์ (compile)  โดยจะทำการอ่านโปรแกรมภาษาซีทั้งหมดตั้งแต่ต้นจนจบ  แล้วทำการแปลผลทีเดียว นอกจากคอมไพเลอร์แล้ว ยังมีตัวแปลภาษาอีกรูปแบบหนึ่งที่เรียกว่า  อินเตอร์พรีเตอร์การอ่านและแปลโปรแกรมทีละบรรทัด  เมื่อแปลผลบรรทัดหนึ่งเสร็จก็จะทำงานตามคำสั่งในบรรทัดนั้น  แล้วจึงทำการแปลผลตามคำสั่งในบรรทัดถัดไป  หลักการที่อินเตอร์พรีเตอร์ใช้เรียกว่า อินเตอร์เพรต (interpret)

แนวทางหลักการออกแบบเว็บไซต์เพื่อเป็นแนวทางการสร้างและพัฒนาเว็บไซต์

แนวทางหลักการออกแบบเว็บไซต์สามารถแบ่งออกเป็นขั้นตอนต่าง ๆ เพื่อให้เหมาะสมกับผู้เริ่มต้นใช้เป็นแนวทาง ในการสร้างและพัฒนาเว็บไซต์

· การวางแผน การวางแผนนับว่ามีความสำคัญมากในการสร้างเว็บไซต์ เพื่อให้การทำงานในขั้นตอนต่าง ๆ มีแนว ทางที่ชัดเจนและสามารถปฏิบัติได้ตามที่ตั้งเป้าไว้ ซึ่งประกอบด้วย

· การกำหนดเนื้อหาและจุดประสงค์ของเว็บไซต์ การกำหนดเนื้อหาและจุดประสงค์ของเว็บไซต์ที่จะสร้าง นับเป็นสิ่งสำคัญอย่างมากในการเริ่มต้นสร้างเว็บไซต์เลยทีเดียว เพื่อให้เห็นภาพว่าเราต้องการนำเสนอข้อมูลแบบใด เช่น เว็บไซต์เพื่อให้ข้อมูลข่าวสาร การบริการด้านต่าง ๆ หรือขายสินค้า เป็นต้น เมื่อสามารถกำหนดจุดประสงค์ของเว็บไซต์ได้แล้ว เงื่อนไขเหล่านี้จะเป็นตัวกำหนดโครง สร้างรูปแบบรวมถึงหน้าตา และสีเว็บไซต์ของเราด้วย

· การกำหนดกลุ่มเป้าหมาย
เพื่อให้การสร้างและออกแบบเว็บไซต์ได้รับความนิยม การกำหนดกลุ่มเป้าหมายในการเข้าชมเว็บไซต์ก็นับว่ามีส่วนสำคัญไม่น้อย เช่น เว็บไซต์สำหรับเยาวชน นักเรียน นักศึกษาในการค้นหาข้อมูล หรือเว็บไซต์สำหรับบุคคลทั่วไปที่เข้าไปใช้บริการต่าง ๆ เป็นต้น

· การเตรียมข้อมูล เนื้อหาหรือข้อมูลจัดว่าเป็นสิ่งที่เชิญชวนให้ผู้อื่นเข้ามาเยี่ยมชมเว็บไซต์ และต้องทราบว่าข้อมูลข่าวสารต่าง ๆ สามารถนำมาจากแหล่งใดบ้าง เช่น การคิดนำเสนอข้อมูลด้วยตัวเอง หรือนำข้อมูลที่น่าสนใจมาจากสื่ออื่น เช่น หนังสือพิมพ์ แมกกาซีน เว็บไซต์ และที่สำคัญ ขออนุญาตเจ้าของบทความก่อนเพื่อป้องกันเรื่องลิขสิทธิ์ด้วย

· การเตรียมสิ่งต่าง ๆ ที่จำเป็น ในการออกแบบเว็บไซต์ต้องอาศัยความสามารถต่าง ๆ เช่น โปรแกรมสำหรับสร้าง เว็บไซต์ ภาพเคลื่อนไหว มัลติมีเดีย การจดโดเมนเนม การหาผู้ให้บริการรับฝากเว็บไซต์ (Web Hosting) เป็นต้น

· การจัดโครงสร้างข้อมูล เมื่อได้ข้อมูลต่าง ๆ เช่น กำหนดเนื้อหาและจุดประสงค์ของเว็บไซต์ การกำหนดกลุ่มเป้าหมาย การเตรียมข้อมูล การเตรียมสิ่งต่าง ๆ ที่จำเป็นจากขั้นแรกเรียบร้อยแล้ว ในขั้นตอนนี้ เราจะจัดระบบเพื่อใช้เป็นกรอบสำหรับการออกแบบและดำเนินการในขั้นตอนต่อไป ซึ่งมีรายละเอียด ดังนี้

· โครงสร้างและสารบัญของเว็บไซต์

· การใช้ระบบนำผู้เข้าชมไปยังส่วนต่าง ๆ ภายในเว็บไซต์หรือที่เราเรียกว่าระบบนำทาง (Navigation)

· องค์ประกอบที่ต้องนำมาใช้ เช่น สื่อมัลติมีเดีย ภาพกราฟิก แบบฟอร์มต่าง ๆ

· การกำหนดรูปแบบและลักษณะของเว็บเพจ

· การกำหนดฐานข้อมูล ภาษาสคริปต์หรือแอปพลิเคชันที่นำมาใช้ในเว็บไซต์

· การบริการเสริมต่าง ๆ

· การออกแบบเว็บไซต์ นับเป็นขั้นตอนในการออกแบบรูปร่าง โครงสร้างและลักษณะทางด้านกราฟิกของหน้าเว็บเพจโดย โปรแกรมที่เหมาะสมในการออกแบบคือ Photoshop หรือ Fireworks ซึ่งจะช่วยในการสร้างเค้าโครงของหน้าเว็บและองค์ประกอบต่าง ๆ เช่น ชื่อเว็บไซต์ โลโก้ รูปไอคอน ปุ่มไอคอน ภาพเคลื่อนไหว แบนเนอร์โฆษณา เป็นต้น

· ในการออกแบบเว็บไซต์นั้นยังต้องคำนึงถึงสีสันและรูปแบบของส่วนประกอบต่าง ๆ ที่ไม่ใช่ภาพกราฟิก เช่น ขนาดของตัวอักษร สีของข้อความ สีพื้น ลวดลายของเส้นกรอบเพื่อความสวยงามและดึงดูดผู้เยี่ยมชมด้วย