Website đẹp chưa chắc dễ dùng. Nếu người truy cập vẫn không biết phải bấm gì, điền biểu mẫu ra sao hoặc chờ quá lâu để thấy nội dung chính, vấn đề nằm ở trải nghiệm người dùng (UX), không chỉ ở màu sắc và bố cục.
Cách an toàn để bắt đầu là chọn một nhiệm vụ cụ thể, chẳng hạn tìm giá, gửi biểu mẫu hoặc tải tài liệu. Hãy ghi lại điểm người dùng bị chậm, nhầm lẫn hay bỏ cuộc; sửa nguyên nhân có ảnh hưởng lớn nhất; sau đó kiểm tra lại bằng chính nhiệm vụ đó. Quy trình này áp dụng cho website đang hoạt động lẫn bản mẫu, nhưng không thay thế việc nghiên cứu người dùng trong các dự án có yêu cầu đặc thù.
Trước khi bắt đầu: chuẩn bị phạm vi, quyền truy cập và cách quay lại
Bạn không cần sửa mã nguồn ngay từ đầu. Trước tiên, hãy xác định trang hoặc luồng cần đánh giá và chuẩn bị:
- Quyền truy cập: URL của môi trường cần kiểm tra, tài khoản thử nghiệm và quyền chỉnh sửa nếu bạn là người triển khai.
- Nhiệm vụ ưu tiên: một việc có giá trị rõ ràng, cùng điều kiện để biết nhiệm vụ đã hoàn thành.
- Thiết bị và trình duyệt: ít nhất một màn hình rộng, một màn hình hẹp và trình duyệt mà người dùng mục tiêu thường sử dụng.
- Công cụ đo: công cụ kiểm tra hiệu suất, công cụ ghi nhận lỗi và bảng theo dõi kết quả. Nếu thu thập dữ liệu người dùng thật, cần tuân thủ chính sách riêng tư và quy định áp dụng cho website.
- Điểm khôi phục: lưu bản sao nội dung, mã nguồn hoặc cấu hình trước khi thay đổi; với website đang vận hành, thử thay đổi trên môi trường kiểm thử trước khi phát hành.
Nếu chưa có dữ liệu, hãy bắt đầu bằng việc tự đi qua nhiệm vụ và nhờ ít nhất một người chưa tham gia xây dựng website thử lại. Đây là kiểm tra ban đầu, không phải bằng chứng đại diện cho toàn bộ người dùng.
1. Xác định nhiệm vụ cần tối ưu trước khi sửa giao diện
Một website có thể có hàng trăm trang, nhưng người dùng thường truy cập để làm một số việc cụ thể. Nếu chưa xác định nhiệm vụ, bạn dễ tối ưu theo cảm nhận nội bộ thay vì theo nhu cầu thực tế.
Viết mỗi nhiệm vụ theo bốn phần:
- Ai: người dùng mới, khách hàng cũ, người mua hàng hoặc người cần hỗ trợ;
- Muốn làm gì: tìm giá, so sánh sản phẩm, gửi yêu cầu hoặc tải tài liệu;
- Điều kiện hoàn thành: người dùng nhận được kết quả rõ ràng mà không cần người hướng dẫn;
- Điểm có thể thất bại: không thấy nút, không hiểu thuật ngữ, gặp lỗi mơ hồ hoặc phải chờ quá lâu.
Ví dụ giả định: nhiệm vụ của trang liên hệ là “một khách hàng mới gửi được câu hỏi và biết khi nào sẽ nhận phản hồi”. Như vậy, nút “Gửi” chưa đủ. Trang còn cần lý do liên hệ dễ hiểu, số trường vừa đủ, nhãn trường rõ, thông báo lỗi cụ thể và trạng thái xác nhận sau khi gửi.
2. Ghi nhận hiện trạng bằng dữ liệu và quan sát
Không có một chỉ số duy nhất mô tả đầy đủ UX. Đo trong môi trường kiểm soát giúp tìm lỗi kỹ thuật; dữ liệu người dùng thật cho biết vấn đề xuất hiện trên các thiết bị, mạng và hành vi khác nhau; còn kiểm thử khả năng sử dụng cho thấy người dùng hiểu và thao tác thế nào.
| Nhiệm vụ | Dấu hiệu vấn đề | Cách kiểm tra | Ưu tiên ban đầu |
|---|---|---|---|
| Gửi biểu mẫu liên hệ | Nhiều trường bị bỏ trống hoặc lỗi chung chung | Thử dữ liệu hợp lệ, thiếu dữ liệu và sai định dạng | Cao |
| Tìm thông tin giá | Phải mở nhiều trang hoặc quay lại nhiều lần | Ghi lại đường đi và thử tìm kiếm nội bộ | Cao |
| Đọc bài viết trên điện thoại | Chữ nhỏ, nút sát nhau hoặc phải kéo ngang | Kiểm tra trên màn hình hẹp bằng thao tác chạm | Trung bình hoặc cao |
| Mở trang sản phẩm | Nội dung chính xuất hiện muộn hoặc bố cục nhảy | Đo hiệu suất và đối chiếu với dữ liệu người dùng thật | Cao |
Bạn có thể tham khảo quy trình đo hiệu suất website cho người mới khi cần thiết lập bước đo ban đầu. Khi phân tích, hãy tách “người dùng không tìm thấy” khỏi “người dùng tìm thấy nhưng trang phản hồi chậm”; hai vấn đề này cần cách sửa khác nhau.
3. Làm rõ nội dung, cấu trúc và điều hướng
Cho người dùng biết trang này giúp họ làm gì
Tiêu đề chính nên mô tả kết quả hoặc nội dung người dùng đang tìm, không chỉ nêu tên nội bộ của sản phẩm. Phần mở đầu nên trả lời nhanh ba câu hỏi: trang cung cấp gì, dành cho ai và bước tiếp theo là gì.
Ví dụ, “Giải pháp doanh nghiệp” là tên rộng và khó định hướng. “Phần mềm quản lý lịch hẹn cho phòng khám nhỏ” cho người đọc nhiều thông tin hơn về đối tượng và mục đích.
Giảm các lựa chọn cạnh tranh nhau
Trên mỗi màn hình, hãy xác định một hành động chính. Hành động phụ vẫn có thể tồn tại, nhưng không nên có cùng mức nổi bật nếu chúng dẫn đến các kết quả khác nhau.
Thay vì dùng nhiều nhãn như “Tìm hiểu thêm”, “Xem ngay” và “Khám phá”, hãy mô tả kết quả: “Xem bảng giá”, “Tải hướng dẫn sử dụng” hoặc “Gửi yêu cầu tư vấn”. Nhãn cụ thể giúp người dùng dự đoán điều xảy ra sau khi bấm. Tuy nhiên, không phải liên kết nào cũng cần biến thành nút lớn.
Đặt điều hướng theo cách người dùng tìm thông tin
Nhóm trang theo chủ đề hoặc nhiệm vụ quen thuộc thay vì theo cơ cấu phòng ban. Người muốn “đổi gói dịch vụ” không nhất thiết biết việc đó thuộc “Kinh doanh” hay “Chăm sóc khách hàng”.
Kiểm tra nhanh bằng cách nhờ một người chưa tham gia xây dựng website trả lời: “Bạn sẽ bấm vào đâu để hoàn thành nhiệm vụ này?”. Nếu họ phải đoán nhiều lần, vấn đề có thể nằm ở cấu trúc hoặc nhãn điều hướng chứ chưa chắc ở màu sắc.
4. Làm biểu mẫu dễ điền và sửa lỗi
Chỉ yêu cầu thông tin cần thiết cho bước hiện tại. Mỗi trường cần có nhãn rõ ràng, không chỉ dùng chữ gợi ý bên trong ô nhập. Phần tử <label> giúp liên kết nhãn với trường nhập và hỗ trợ người dùng công nghệ hỗ trợ (theo developer.mozilla.org).
<form action="/contact" method="post">
<label for="email">Email để nhận phản hồi</label>
<input
id="email"
name="email"
type="email"
autocomplete="email"
aria-describedby="email-help"
required
>
<p id="email-help">Chúng tôi dùng địa chỉ này để trả lời câu hỏi của bạn.</p>
<button type="submit">Gửi câu hỏi</button>
</form>
Chạy ở đâu: đặt đoạn mã trong môi trường kiểm thử của trang biểu mẫu, thay /contact bằng địa chỉ xử lý biểu mẫu thật của bạn. Đoạn mã này chỉ tạo cấu trúc HTML; máy chủ vẫn phải xử lý xác thực, chống gửi tự động, lưu trữ và phản hồi an toàn.
Kết quả mong đợi: nhấp vào nhãn sẽ đưa tiêu điểm vào ô email; trình duyệt nhận diện đây là trường email; người dùng biết vì sao cần nhập thông tin. Hãy thử gửi khi bỏ trống hoặc nhập sai định dạng. Nếu trình duyệt không báo lỗi phù hợp, kiểm tra lại type, required, nhãn và phần xử lý phía máy chủ.
Giá trị autocomplete phù hợp có thể giúp trình duyệt điền thông tin đã lưu, giảm lượng dữ liệu phải gõ thủ công (theo developer.mozilla.org). Chỉ dùng giá trị đúng với loại dữ liệu; không gán nhãn sai để ép trình duyệt điền một giá trị khác.
Thông báo lỗi nên trả lời ba câu hỏi: lỗi ở đâu, vì sao xảy ra và sửa thế nào. “Dữ liệu không hợp lệ” kém hữu ích hơn “Nhập email theo dạng ten@example.com”. Không xóa dữ liệu hợp lệ khi biểu mẫu báo lỗi và cần thông báo rõ trạng thái sau khi gửi thành công.
5. Kiểm tra bàn phím, màn hình hẹp và công nghệ hỗ trợ

Responsive chỉ là nền tảng. Một trang có thể co giãn vừa màn hình nhưng vẫn khó dùng nếu nút quá sát nhau, hộp thoại không nhận tiêu điểm bàn phím hoặc người dùng phải kéo ngang để đọc.
- Dùng
Tabđể đi qua mọi liên kết, nút và trường nhập; thứ tự tiêu điểm phải hợp lý. - Kiểm tra
Enter, phím cách và phím mũi tên ở những thành phần tương ứng; không chỉ dùng chuột. - Phóng to văn bản đến 200% và kiểm tra nội dung, chức năng, tiêu điểm và thao tác cuộn.
- Kiểm tra độ tương phản, trạng thái focus, văn bản thay thế cho hình ảnh có ý nghĩa và thông báo lỗi.
- Trên màn hình hẹp, kiểm tra menu, bảng dữ liệu, cửa sổ bật lên, vùng chạm và bàn phím ảo.
WCAG 2.2 đưa ra các tiêu chí kiểm tra về bàn phím, độ tương phản, thay đổi kích thước văn bản và kích thước mục tiêu cho thao tác con trỏ (theo w3.org). Đây là chuẩn kỹ thuật để định hướng đánh giá, không phải bằng chứng rằng website đã đáp ứng đầy đủ mọi nhu cầu của người khuyết tật.
Nếu website đã responsive nhưng vẫn khó dùng trên điện thoại, hãy kiểm tra theo từng nhiệm vụ thay vì chỉ xem ảnh chụp giao diện. Bạn có thể xem thêm các nguyên nhân website responsive vẫn khó dùng để mở rộng bước chẩn đoán.
6. Cải thiện hiệu suất theo điều người dùng cảm nhận
“Trang tải xong” không đồng nghĩa với “trang đã dùng được”. Người dùng quan tâm nội dung chính xuất hiện khi nào, nút bấm phản hồi ra sao và bố cục có nhảy khi họ đang đọc hay không.
Ba chỉ số Core Web Vitals theo dõi các khía cạnh khác nhau: LCP phản ánh tốc độ hiển thị nội dung chính, INP phản ánh độ phản hồi khi tương tác và CLS phản ánh mức độ ổn định hình ảnh khi bố cục thay đổi (theo web.dev).
- LCP kém: kiểm tra máy chủ, tài nguyên chặn hiển thị, ảnh lớn và việc nội dung chính bị tải quá muộn.
- INP kém: tìm tác vụ JavaScript dài, xử lý sự kiện nặng hoặc giao diện cập nhật quá nhiều sau mỗi lần bấm.
- CLS kém: dành sẵn kích thước cho ảnh, quảng cáo và nội dung tải động để bố cục không đẩy văn bản hoặc nút đi chỗ khác.
Đừng chỉ dựa vào một lần chạy Lighthouse. Kiểm thử trong môi trường kiểm soát giúp tái hiện lỗi, còn dữ liệu người dùng thật phản ánh sự khác biệt về thiết bị, mạng và hành vi; hai loại đo nên bổ sung cho nhau (theo web.dev). Sau mỗi thay đổi, ghi lại trang, thiết bị, điều kiện đo và kết quả để so sánh có ý nghĩa.
7. Kiểm thử bằng nhiệm vụ cụ thể
Câu hỏi “Bạn thấy website thế nào?” thường tạo ra nhận xét rộng nhưng khó hành động. Hãy giao một nhiệm vụ có điểm bắt đầu và điều kiện hoàn thành rõ ràng:
- “Bạn đang tìm một gói phù hợp cho nhóm năm người. Hãy tìm giá và cho biết bạn sẽ chọn gói nào.”
- “Hãy gửi câu hỏi về thời gian giao hàng bằng biểu mẫu liên hệ.”
- “Hãy tìm tài liệu hướng dẫn cài đặt và mở đúng phiên bản dành cho người mới.”
Trong khi quan sát, hãy ghi lại:
- người dùng dừng ở đâu hoặc quay lại bước trước;
- họ đọc, bấm và nhập liệu theo thứ tự nào;
- họ dùng từ nào để mô tả mục tiêu;
- họ có hoàn thành mà không cần người hướng dẫn không;
- lỗi nào lặp lại ở nhiều người hoặc nhiều thiết bị.
Kiểm thử khả năng sử dụng có điều phối yêu cầu người tham gia thực hiện nhiệm vụ cụ thể trong khi người nghiên cứu quan sát cách họ suy nghĩ và thao tác. Hướng dẫn GOV.UK cũng mô tả việc kết hợp nghiên cứu người dùng với chỉ số hiệu suất khi đánh giá khả năng sử dụng (theo gov.uk). Không hướng dẫn từng cú nhấp; mục tiêu là xem giao diện tự giải thích được đến đâu.
8. Quy trình tối thiểu để tối ưu một trang
- Chọn một nhiệm vụ: ghi rõ người bắt đầu từ đâu và thế nào là hoàn thành.
- Ghi đường đi hiện tại: số bước, thời gian chờ, lỗi và điểm người dùng phải đoán.
- Kiểm tra nội dung và giao diện: tiêu đề, nhãn nút, điều hướng, biểu mẫu, trạng thái lỗi và khả năng dùng bằng bàn phím.
- Đo hiệu suất: xem LCP, INP, CLS cùng lỗi tài nguyên hoặc JavaScript liên quan; ghi điều kiện đo.
- Sửa một nhóm nguyên nhân liên quan: không thay đổi quá nhiều biến cùng lúc nếu cần biết yếu tố nào tạo ra khác biệt.
- Kiểm thử lại bằng cùng nhiệm vụ: dùng cùng điều kiện chấm để so sánh trước và sau.
- Phát hành có kiểm soát: dùng môi trường kiểm thử hoặc triển khai theo từng phần nếu hệ thống hỗ trợ.
- Theo dõi và hoàn nguyên khi cần: nếu nhiệm vụ chính hỏng hoặc phát sinh lỗi mới, tắt thay đổi hoặc khôi phục phiên bản ổn định, rồi kiểm tra lại bằng kịch bản cũ.
Nếu chỉ có ít thời gian, ưu tiên nhiệm vụ không hoàn thành, lỗi biểu mẫu hoặc thanh toán, vấn đề trên điện thoại, lỗi bàn phím và công nghệ hỗ trợ; cải tiến thẩm mỹ nên thực hiện sau các rào cản này.
9. Những lỗi tối ưu UX thường gặp
- Đổi giao diện mà không xác định vấn đề: thiết kế mới có thể đẹp hơn nhưng không giúp người dùng tìm thấy thông tin.
- Chỉ kiểm tra trên máy của nhóm phát triển: thiết bị, trình duyệt, mạng và phương thức nhập khác nhau có thể tạo trải nghiệm khác nhau.
- Dùng màu sắc làm tín hiệu duy nhất: trạng thái lỗi hoặc thành công nên có thêm văn bản, biểu tượng hoặc cấu trúc phù hợp.
- Dùng placeholder thay cho label: gợi ý có thể biến mất khi người dùng nhập và khiến họ quên trường đang yêu cầu gì.
- Chạy theo điểm hiệu suất tuyệt đối: điểm số là tín hiệu chẩn đoán, không thay thế cho việc người dùng hoàn thành nhiệm vụ.
- Hiển thị cửa sổ bật lên quá sớm: nếu che nội dung hoặc ngăn thao tác chính, nó tạo thêm rào cản.
- Đặt câu hỏi dẫn dắt: câu hỏi như “Nút này có dễ thấy không?” có thể khiến người tham gia trả lời theo ý người hỏi.
Checklist trước khi phát hành
- Đã viết rõ nhiệm vụ chính và điều kiện hoàn thành chưa?
- Tiêu đề, phần mở đầu và nút chính có cùng hướng không?
- Người dùng có biết bước tiếp theo sau mỗi trạng thái không?
- Biểu mẫu có label, hướng dẫn, autocomplete phù hợp và lỗi có thể sửa không?
- Có thể hoàn thành nhiệm vụ bằng bàn phím không?
- Trang có dùng được trên màn hình hẹp và khi phóng to văn bản không?
- Ảnh, nội dung tải động và quảng cáo có làm bố cục nhảy không?
- Đã kiểm tra cả môi trường kiểm soát và điều kiện người dùng thật chưa?
- Ít nhất một người chưa tham gia xây dựng website đã thử nhiệm vụ chưa?
- Đã lưu bản trước thay đổi, ghi kết quả và xác định cách hoàn nguyên chưa?
Tối ưu UX không phải một lần chỉnh sửa rồi kết thúc. Vòng lặp đáng tin cậy hơn là chọn nhiệm vụ, quan sát điểm vướng, sửa nguyên nhân, kiểm tra lại và theo dõi sau phát hành. Khi đó, quyết định thiết kế dựa trên việc người dùng có hoàn thành mục tiêu hay không, thay vì chỉ dựa trên cảm nhận rằng giao diện đã “đẹp hơn”.
Nguồn tham khảo
- Web Content Accessibility Guidelines (WCAG) 2.2 — W3C.
- How to structure a web form — MDN Web Docs.
- autocomplete HTML attribute — MDN Web Docs.
- How the Core Web Vitals metrics thresholds were defined — web.dev.
- User-centric performance metrics — web.dev.
- Using moderated usability testing — GOV.UK Service Manual.

