Web Form và 11 điều cơ bản trong thiết kế

11 Form design patterns trong thiết kế web

web-form

(Ảnh: web form, nguồn Internet)

Nhắc tới web form thì bất cứ ai trong chúng ta (thế hệ 7x, 8x, 9x…) đều cảm thấy quá quen thuộc bởi cường độ tiếp xúc hàng ngày. Bạn login vào tài khoản Gmail, đăng ký 1 account trên 1 diễn đàn, nhập thông tin mua hàng trực tuyến (e-Commerce) hay đơn giản là cập nhật 1 status lên Facebook… tất cả đều thông qua web form. Nếu định nghĩa “nôm na” và ngắn gọn thì web form là một hoặc nhiều màn hình của hệ thống phần mềm với tập hợp các thành phần giao diện (form elements) được tổ chức lại với nhau nhằm giúp người dùng thực hiện một thao tác nào đó.

Web form phần lớn được người dùng sử dụng để nhập thông tin (sau đó sẽ chuyển thành dữ liệu lưu trữ tại máy chủ) và thực hiện thao tác giao tiếp với hệ thống phần mềm thông qua khái niệm SUBMIT (gửi thông tin về máy chủ). Hàng ngày, những người làm phần mềm web app, mobile app phải thiết kế, lập trình rất nhiều dạng web form. Vậy, một thiết kế chuẩn kiểu mẫu hoặc tương đối chuẩn cho web form sẽ gồm những gì?

Forms are designed to  ensure  that  users  can accomplish their goals successfully – Pawan Vora

Đầu tiên, người thiết kế web form cần nắm vững quan điểm rằng: web form phải được thiết kế sao cho những forms đó đáp ứng nhiệm vụ giúp người dùng thực hiện một hoặc nhiều thao tác (tác vụ) thành công với hệ thống. Ngoài ra, web form cần phải “điều hướng” người dùng theo đúng “ý đồ” mà người thiết kế mong muốn. (Ví dụ như web form điền thông tin mua hàng thì phải điền đủ địa chỉ, số điện thoại để giao dịch).

Tiếp theo, để có thể đưa ra bản thiết kế form hợp lý và hoàn thiện, những người thiết kế chuyên nghiệp và nhiều kinh nghiệm đã đưa ra 11 tiêu chuẩn mẫu (tương đối hoàn chỉnh) bao gồm:

  1. Clear benefits. Ai cũng biết người dùng là… lười biếng, vì vậy để họ có thể điền thông tin vào 1 form nhập liệu, hãy mô tả rõ ràng mục đích và lợi ích của web form khi thiết kế. Có thể dễ thấy LinkedIn ghi rất rõ benefits cho registration form của họ là “Over 225 million professionals use LinkedIn to exchange information, ideas and opportunities“.
  2. Short forms. Hãy cung cấp 1 form đủ ngắn, vừa phải và chỉ yêu cầu người dùng nhập những thông tin cần thiết ở mức “tối thiểu”. Nếu form quá dài, hãy chia thành nhiều steps nhỏ. Những thông tin mang tính chất “bổ sung” hoặc “có thể hữu ích” thì người dùng hoàn toàn có thể cập nhật sau khi họ có thời gian rảnh rỗi.
  3. Logical Grouping. Nhóm những thông tin liên quan trên một form lại với nhau. Đây là ý tưởng và best practice của Yahoo. Trong những năm Yahoo mail / chat còn thống trị tại thị trường Việt Nam, chắc hẳn bạn cũng để ý được rằng Yahoo nhóm các thông tin như thông tin tài khoản, thông tin cá nhân, khôi phục bảo mật, v.v.. trên form đăng ký của họ. Điều này giúp cho người dùng dễ chịu và tư duy liền mạch trong quá trình nhập thông tin. (UX hiện nay còn gọi là mental model).
  4. Label alignment. Label (nhãn) chính là mô tả / định danh cho các thành phần của form. Người dùng nhìn vào label, để biết mình cần điền thông tin gì trên web form của bạn. Vậy căn chỉnh label như thế nào? Thường có 03 cách phổ biến: căn trái dọc theo các form element, căn lề phải và đặt ở phía trên của các control. Có nhiều nghiên cứu, paper cho vấn đề này, chủ yếu xoay quay quá trình điều hướng của mắt người điền thông tin cũng như việc xử lý thông tin trong não. Nhưng để nói ngắn gọn hơn thì việc đặt label phía bên trên (on top) của các form control/element là tốt nhất, và giảm thiểu thời gian điền thông tin nhất.
  5. Required field indicators. Chỉ rõ cho người dùng những thông tin cần phải điền. Đây là những thông tin bắt buộc và nếu không điền đầy đủ, người dùng sẽ không thể gửi thông tin về máy chủ. (hay nói nôm na là không thể pass that form). Cách làm đơn giản nhất là sử dụng dấu * màu đỏ bên cạnh form element.
  6. Smart defaults. Thông tin nào có thể để giá trị mặc định thì hãy giúp người dùng điền sẵn (hoặc copy sẵn) thông tin đó. Có thể ít người để ý điều này nhưng một trong những ví dụ điển hình hay gặp nhất là khi đăng ký mua hàng trực tuyến (hoặc mua vé máy bay). Billing address và shipping address thường có tùy chọn là “copy” hoặc “setting” giống nhau. Bằng cách này người dùng không phải nhập lại 2 lần. Các trình duyệt (web browser) ngày nay cũng lưu profile của người dùng và khi cần có thể auto complete từ đó.
  7. Forgiving format. Bỏ những định dạng dữ liệu / thông tin không cần thiết. Có một thời điền các form trên website của Mỹ, người dùng mệt mỏi nhất với định dạng số điện thoại kiểu như xxxx-xxx-xxx (4 – 3 – 3). Điều này thực sự không cần thiết. Bởi khách hàng của nước nào sẽ có mã vùng riêng của đất nước đó. Việc thể hiện số điện thoại như thế nào có thể quan trọng với bạn nhưng không quan trọng với người dùng.
  8. Keyboard navigation. Có thể hiểu nôm na đây là phím tắt nên có trên web form. Nhu cầu này xuất phát từ thế hệ những người dùng desktop. Các phần mềm nghiệp vụ chạy trên nền windows từ trước tới nay vẫn thường có những phím tắt để giúp người dùng thao tác nhanh hơn, dùng bàn phím nhiều hơn và sử dụng chuột máy tính ít hơn. Với công nghệ javascript và cá front-end framework ngày nay thì việc bổ sung các tổ hợp phím tắt như Ctrl + S hay Ctrl + Z không quá khó khăn nữa.
  9. Input Hints/Prompts. Đây là phần mô tả cho từng phần của 1 web form. Điều này thực sự hữu ích trong việc giúp người dùng giảm thiểu lỗi phát sinh khi nhập dữ liệu. Ví dụ hay gặp nhất là text-box password ở form đăng ký tài khoản mới với ghi chú nho nhỏ kiểu như “6 or more characters” của LinkedIn. Với các phần mềm nghiệp vụ web-base thì input hints sẽ giúp người dùng hiểu rõ hơn các form nghiệp vụ phức tạp (như tài chính, nhân sự, cổng thông tin tương tác…).
  10. Action buttons. Website ngày nay không còn các button thô sơ dạng SAVE, SUBMIT nữa. Các nút bấm (submit button) ngày nay gọi là action buttons. Nghĩa là mô tả rõ một hành động cụ thể, kêu gọi người dùng thao tác theo đúng thứ họ mong muốn. Thay vì thiết kế các button SAVE, SUBMIT thì bạn nên sử dụng các button với nhãn ghi rõ mục đích như “Send email”, “Create new account”, “Modify calendar”, v.v… Cách làm này đảm bảo việc người dùng biết họ sẽ gửi đi thông tin nào? với mục đích gì.
  11. Error messages. Con người không ai hoàn hảo cả, và thao tác với hệ thống phần mềm / hay thiết bị công nghệ thì không tránh khỏi những sai sót. Khi người dùng nhập sai, hệ thống cần thông báo cho họ biết. Với Error message, bạn cần lưu ý mấy điều cơ bản như: Chỉ rõ lỗi xuất phát từ đâu? và cách để sửa lỗi đó. (Nếu người dùng nhập địa chi email không đúng cách, hãy đưa cho họ một ví dụ cụ thể trong thông báo lỗi hoặc hạn chế bằng input hints đã nêu trên); Chỉ rõ vị chí form element xảy ra lỗi và không bắt người dùng phải nhập lại những thông tin mà họ đã điền đúng.

Có thể hiểu 11 tiêu chuẩn trên là 11 patterns cho việc thiết kế web form mà qua đó, ta có thể áp dụng rộng rãi với nhiều loại hình web khác nhau như e-Commerce (TMĐT), web application, v.v… Với những phần mềm nghiệp vụ được xây dựng trên nền tảng web (web based application) thì số lượng web form là rất lớn. Chính vì vậy, việc áp dụng triệt để các nguyên tắc nêu trên sẽ tăng hiệu năng sử dụng cho hệ thống phần mềm, khuyến khích người dùng tương tác tốt hơn, gắn kết và yêu thích phần mềm hơn. Và hơn hết, việc thao tác với phần mềm đơn giản, nhanh chóng sẽ mang lại lợi ích kinh tế to lớn với cả những công ty phát triển phần mềm và công ty ứng dụng nó (phần mềm đó) vào công việc kinh doanh, điều hành tổ chức.

Ghi chú:

  • Việc trình bày chi tiết về web form đòi hỏi một báo cáo hoặc 1 tài liệu (có thể chi tiết thành cuốn sách) có khối lượng thông tin khá lớn. Tôi sẽ mô tả chi tiết hơn từng nguyên tắc qua các bài blog và slide trong thời gian sắp tới.
  • Form element: các thành phần của form bao gồm text-box, combo box, drop-down list, option box, check box, v.v…

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.