1 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Trên di động đã có vấn đề ô trả lời bình luận đột ngột mở ra khi đang cuộn, và quản trị viên trang dùng ngón cái tay phải để cuộn không thể tái hiện được
  • Nguyên nhân nằm ở liên kết reply bên trái trang và cách WordPress xử lý touchstart, khiến thao tác cuộn bằng ngón cái tay trái có thể dẫn đến chạm vào liên kết ngoài ý muốn
  • Lỗi này đã được báo trên WordPress Trac từ 7 năm trước, và đoạn mã liên quan đã được thêm vào kho phát triển WordPress năm 2017
  • Trước đây cần tránh độ trễ 300ms để phân biệt giữa chạm và zoom bằng chạm đúp, nhưng theo bài viết của Chrome năm 2013 và tài liệu FastClick năm 2015 thì đây đã là vấn đề cũ
  • Bản sửa áp dụng theo cách xóa vài dòng trong mã WordPress, tập trung vào việc giảm hành vi trả lời bình luận ngoài ý muốn khi cuộn trên di động

Tối ưu blog và JavaScript cho bình luận

  • Trên cài đặt WordPress mặc định, blog đã được áp dụng nhiều tùy chỉnh riêng để tối ưu hóa tối đa
  • Lượng JavaScript được giảm xuống mức tối thiểu, và các chức năng được cấu hình để vẫn hoạt động ngay cả khi không có JavaScript
  • Dù vậy, một số chức năng vẫn được JavaScript hỗ trợ, và ví dụ dễ thấy nhất là tính năng bình luận

Vấn đề chỉ lộ ra khi cuộn bằng tay trái

  • Một độc giả đã báo lỗi trên trang, cho biết ô bình luận đột ngột xuất hiện khi đang cuộn trang và cản trở việc duyệt nội dung
  • Quản trị viên trang thường xuyên cuộn nhưng dùng ngón cái tay phải nên không phát hiện ra cùng một vấn đề
  • Người dùng báo lỗi cuộn bằng tay trái, còn liên kết reply gây vấn đề lại nằm ở phía bên trái trang
  • Sự kiện chạm vốn khó xuất hiện khi cuộn bằng ngón cái tay phải lại có thể phát sinh ngoài ý muốn khi cuộn bằng ngón cái tay trái

Cách WordPress xử lý touchstart

  • Vấn đề này đã từng được báo trên WordPress Trac từ 7 năm trước
  • Năm 2017, một nhà phát triển WordPress đã thêm listener touchstart cho cú nhấp vào liên kết
  • Trước đây, trình duyệt không thể phân biệt chắc chắn liệu một sự kiện chạm là khởi đầu của cú nhấp hay là khởi đầu của thao tác zoom bằng chạm đúp
  • Việc kích hoạt sự kiện trước khi nhấp khi có thao tác chạm trên liên kết có thể được xem là cách xử lý để tránh độ trễ 300ms vào thời điểm đó

Vấn đề độ trễ 300ms đã biến mất từ lâu

  • Độ trễ chạm 300ms từ lâu đã không còn là vấn đề cần xử lý theo cách này nữa
  • Bài viết trên blog dành cho nhà phát triển Chrome năm 2013 đề cập rằng vấn đề độ trễ đó đã biến mất
  • Theo tài liệu FastClick năm 2015, đây cũng không còn là vấn đề chính cần giải quyết nữa
  • Vì vậy, không rõ vì sao vào năm 2017 lại thêm đoạn mã theo cách có thể làm phiền người dùng cuộn bằng tay trái

Cách sửa và hiệu quả kỳ vọng

  • Sau 7 năm kể từ khi có báo cáo lỗi, PR sửa WordPress đã được commit
  • Bản sửa không phải thay đổi phức tạp mà là cách xóa vài dòng trong mã WordPress
  • Thay đổi này có thể giúp giảm tình trạng liên kết reply bị kích hoạt ngoài ý muốn khi đang cuộn trên di động, khiến ô trả lời bình luận bật mở
  • Không tồn tại tính năng hạn chế truy cập theo tay thuận như <meta handed="right">, và thay đổi lần này tập trung vào việc ngăn các sự kiện chạm ngoài ý muốn

1 bình luận

 
Các ý kiến trên Lobste.rs
  • Quá nhiều thứ trên đời được thiết kế theo chuẩn người thuận tay phải. Ngay cả chữ quảng cáo trên bút nhiều khi cũng chỉ đọc được đúng chiều khi cầm bằng tay phải
    Dù vậy, sống như một người thuận tay trái cũng coi như có sẵn một chút tính năng chặn quảng cáo bẩm sinh

    • Trời ơi, giờ tôi mới nhận ra chữ trên bút hoặc bút chì được đặt sao cho có thể đọc được khi đang cầm. Cũng lần đầu biết rằng nếu cầm kiểu người thuận tay trái thì lúc nào nó cũng bị ngược
    • Tôi đã thử nghĩ xem có cây bút nào khớp với mô tả đó không nhưng thất bại. Tôi còn tìm ảnh bút xem thử mà vẫn không rõ lắm, chỉ nhớ ra đúng một cây bút cao cấp có vẻ gần giống và có thể đáp ứng điều kiện đó
  • “sinister disposition” nghe buồn cười thật. Tôi nhớ ngày mình biết rằng sinisterdexterous (dexter) theo nghĩa đen lần lượt có nghĩa là “bên trái” và “bên phải”
    Hiện tượng văn hóa “lệch khỏi chuẩn mực → xấu xa” mà chúng ta vẫn sống cùng đến nay vẫn rất thú vị

    • Tôi thuận tay trái rất mạnh, nhưng với một số việc có thể làm bằng cả hai tay, tôi thường từ chối cách gọi “ambi-dexterous” và tự gọi mình là omni-sinisterous
    • Trong nhiều ngôn ngữ thuộc ngữ hệ Ấn-Âu, các từ nghĩa là “bên phải” có chung nguồn gốc, còn “bên trái” thì không [1]
      Rất có thể là vì từ gốc chỉ bên trái đã trở thành điều kiêng kỵ rồi bị thay bằng từ mới, và từ mới đó về sau lại tiếp tục thành điều kiêng kỵ, cứ lặp lại như vậy
      [1]: https://reddit.com/r/asklinguistics/…
  • Mọi người thường chỉ cầm điện thoại bằng tay thuận thôi à? Tôi thuận tay trái nhưng dùng điện thoại bằng cả hai tay gần như ngẫu nhiên và ngang nhau, cứ tưởng ai cũng vậy

    • Tôi thuận tay trái nhưng hầu như luôn cầm điện thoại bằng tay phải. Lý do đơn giản thôi
      Ban đầu tôi cầm điện thoại bằng tay phải và thao tác bằng tay trái, nhưng theo thời gian ngón cái tay phải làm ngày càng nhiều việc hơn, cuối cùng trở thành điểm thao tác chính
      Tôi cũng dùng chuột bằng tay phải, vì hồi nhỏ dây chuột trong phòng máy tính ngắn nên không thể chuyển sang bên trái để dùng
    • Lấy một mẫu là tôi đây, gõ trên màn hình cảm ứng chắc chắn nhanh hơn khi dùng tay thuận. Cả hai tay đều làm được và cũng không khó như viết tay, nhưng nếu vượt quá mức liếc màn hình một chút hoặc vuốt vài lần thì tay thuận vẫn thoải mái hơn
    • Người thuận tay trái thường có phần nào xu hướng thuận cả hai tay. Vì thế giới buộc chúng tôi phải trở thành người thuận tay phải khá mạnh
      Tôi cũng thuận tay trái nhưng có nhiều việc làm bằng tay phải, như viết tay chẳng hạn. Trên piano, tay phải của tôi cũng là tay trội, và cách phần lớn các bản nhạc được viết chắc chắn cũng có ảnh hưởng. Điện thoại thì tôi dùng cả hai tay
    • Khi làm việc gì đó hơn là chỉ nhìn màn hình, thực tế gần như lúc nào tôi cũng chỉ dùng đúng tay phù hợp
    • Tôi thuận tay phải nhưng dùng cả hai tay. Dù hơi thích tay phải hơn, thử nhanh thì có vẻ trên điện thoại tôi gõ bằng tay trái tốt hơn tay phải
      Tuy nhiên nếu dài hơn hai ba câu thì tôi nhập bằng cả hai ngón cái
  • Thú vị là hầu hết mọi việc khác tôi làm bằng tay phải, nhưng với điện thoại thì lại nghiêng về cầm và dùng bằng tay trái
    Không rõ lý do, nhưng có lẽ vì tôi bỏ điện thoại vào túi trái, còn ví và chìa khóa ở bên phải. Dùng chìa khóa và lấy ví bằng tay thuận thì tiện hơn. Không biết tôi có kỳ lạ không

    • Tôi cũng làm đúng như vậy, và lý do cũng chính là thế. Điện thoại nằm trong túi trái nên lấy ra là tự nhiên ở trong tay trái
      Cuối cùng tôi cuộn trang hoặc làm các thao tác cơ bản bằng tay trái, nhưng khi nhập tin nhắn dài thì thường cầm bằng tay trái và dùng tay phải để nhập kiểu vuốt
  • Việc dùng touchstart ở đó ngay từ đầu đã sai rồi
    Chuột, cảm ứng, con trỏ được kích hoạt khi thả ra chứ không phải khi nhấn xuống, nhưng điểm bắt đầu nhấn phải là cùng một phần tử. Sự kiện bàn phím được kích hoạt ở keydown chứ không phải keyup. Tuy nhiên trường hợp Space hoạt động trên nút thì kỳ lạ là lại ở keyup, và khác với chuột, nó cũng không quan tâm keydown đã xảy ra trên phần tử nào
    Có thể thử nhiều khả năng bằng thứ như data:text/html,<button onclick=this.textContent=Math.random()>One</button><button onclick=this.textContent=Math.random()>Two</button>
    Việc chuẩn bị kích hoạt ở touchstart, chẳng hạn bắt đầu lấy trước dữ liệu từ máy chủ nếu cần, thì có lẽ vẫn ổn. Nhưng thực thi hành động thực sự thì chưa được xảy ra, và element.addEventListener( 'touchstart', clickEvent ); đã xử lý sai đúng chỗ đó

  • Tôi không hiểu chuyện này liên quan gì đến người thuận tay trái
    Đây có phải là hành vi đặc thù của touchpad mà người dùng chuột không biết không?

    • Đó là một lỗi sự kiện cảm ứng trên di động mà chỉ người dùng thuận tay trái gặp phải. Người thuận tay phải kéo màn hình bằng ngón cái bên phải nên ngón tay không đi gần tới liên kết bị kích hoạt nhầm
    • Bài viết không ghi rõ, nhưng nhìn vào PR được liên kết thì rõ ràng đây là chuyện về sử dụng màn hình cảm ứng. Có lẽ là tình huống trên smartphone