Ngăn xếp trợ năng của tôi và tương lai trên Wayland
(nocoffei.com)- Việc chuyển sang Wayland làm đứt gãy các công cụ trợ năng đầu vào dựa trên X11, khiến một số người dùng mất đi phương tiện tiếp cận máy tính và cả đời sống nghề nghiệp
- Talon Voice kết hợp nhận dạng giọng nói, scripting và Python để cho phép chuyển ứng dụng, nhập chính tả, điều khiển trình duyệt và cuộn mà không cần dùng tay
- gaze_ocr và Cursorless kết hợp OCR, theo dõi ánh nhìn và tham chiếu cây cú pháp để mở rộng khả năng thao tác màn hình và lập trình mà không cần sự hợp tác từ ứng dụng
- Wayland thiếu các API tiêu chuẩn chung cho quản lý cửa sổ, tự động hóa đầu vào, định vị chuột, clipboard và đọc màn hình mà Talon cần
- Nhà phát triển chính của Talon đã báo trước việc loại bỏ hỗ trợ Linux khỏi bản phát hành công khai, và việc triển khai API trên GNOME, KDE và wlroots vẫn là bài toán của cộng đồng
Vấn đề việc chuyển sang Wayland làm đứt gãy trợ năng đầu vào
- KDE Plasma đã công bố sẽ loại bỏ hỗ trợ X11 vào đầu năm 2027, và những người dùng công cụ trợ năng phụ thuộc vào X11 sẽ khó tiếp tục dùng môi trường desktop hiện tại của mình sau khoảng 9 tháng nữa
- Các cuộc thảo luận về trợ năng thường dễ tập trung vào trợ năng đầu ra cho người dùng suy giảm thị lực hoặc mù, nhưng trợ năng đầu vào để truyền lệnh cho máy tính cũng quan trọng ngang nhau
- Sau khi được chẩn đoán mắc Ehlers-Danlos Syndrome, các nhóm cơ nhỏ dùng để vận động cổ tay và ngón tay bị tổn thương khiến việc dùng bàn phím và chuột trở nên khó khăn; dù vật lý trị liệu chuyên sâu đã giúp phục hồi phần nào khả năng dùng tay, điều đó vẫn không đủ để trụ vững suốt cả ngày làm việc
- Nếu desktop Linux chuyển hẳn sang chỉ dùng Wayland, các công cụ hiện tại giúp điều khiển máy tính gần như không cần dùng tay sẽ không có được mức tích hợp hệ thống cần thiết
- Việc chuyển sang Wayland không chỉ đơn thuần là thay display server, mà là một thay đổi có thể khiến một số người dùng mất đi phương tiện tiếp cận máy tính và đời sống nghề nghiệp của mình
Môi trường nhập liệu rảnh tay mà Talon Voice mang lại
- Talon Voice kết hợp mô hình ML chuyển giọng nói thành văn bản nhanh và chính xác, một ngôn ngữ scripting chuyên dụng và Python để người dùng có thể tự mở rộng cách điều khiển ứng dụng
- Talon cho phép điều khiển ứng dụng theo cách vòng ngoài ngay cả khi ứng dụng không cung cấp tích hợp trợ năng, và cách tiếp cận này được mô tả là adversarial accessibility
- Bộ script talonhub/community là thành phần cốt lõi cần cài đầu tiên để biến Talon thành công cụ thực dụng, gồm hàng chục nghìn dòng code viết thủ công để phù hợp với nhu cầu người dùng
- Những việc có thể làm với Talon:
- Chuyển focus ứng dụng bằng giọng nói thay vì chọn bằng chuột trên thanh tác vụ
- Soạn văn bản bằng Dictation Mode; phần lớn bài viết gốc này cũng được viết bằng Talon
- Điều khiển trình duyệt hoàn toàn không cần tay bằng Rango extension
- Khi viết văn bản dài, dùng script tự viết để gọi chương trình chuyển giọng nói thành văn bản bên ngoài là dsnote qua D-Bus
- Vì thao tác cuộn vẫn gây đau liên tục dù dùng thiết bị nhập nào, nên cuộn bằng tiếng huýt gió/xì
- Trong tương lai cũng đang cân nhắc cách tích hợp bàn đạp chân vào Talon
gaze_ocr và thao tác trực tiếp trên màn hình
- gaze_ocr là một phần mở rộng của Talon dùng OCR để đọc nội dung trên màn hình và cho phép nhấp trực tiếp vào các đối tượng trên đó
- Trên Linux không có sẵn backend OCR mặc định, nhưng có thể nối với RapidOCR
- Khi dùng kèm thiết bị theo dõi ánh nhìn, có thể phân biệt văn bản trên màn hình dựa trên vị trí mà người dùng thực sự đang nhìn
- Có thể xem video giới thiệu 60 giây tại https://youtu.be/qkFy66WF3bU
- gaze_ocr có thể tương tác ngay cả khi phía ứng dụng hoàn toàn không có tích hợp, nên trở thành ví dụ tiêu biểu cho trợ năng hoạt động trong môi trường ứng dụng không hợp tác
Cursorless và lập trình bằng giọng nói
- Cursorless là một extension cho Visual Studio Code, dùng biểu diễn nhận biết cây cú pháp của mã nguồn và các hat trên từng token để cho phép tham chiếu token bằng giọng nói
- Có thể xem bản demo văn bản trong bài giải thích Cursorless của Xe Iaso
- Khi kết hợp với hỗ trợ soạn mã bằng giọng nói cho nhiều ngôn ngữ lập trình trong talonhub/community, có thể viết code hoàn toàn không cần dùng tay
- Ví dụ, để di chuyển đến đầu câu, người dùng nhìn màu hat và vị trí ký tự phía trên “Cursorless”, rồi nói như “pre pink cap” để tham chiếu ký tự đó
- Cách này dùng hệ thống đánh vần bằng giọng nói của Talon
- Cursorless mang lại cách soạn thảo mạnh hơn các trình soạn thảo dựa trên bàn phím hoặc giọng nói truyền thống, và đã trở thành công cụ cốt lõi đến mức tác giả còn tự viết triển khai riêng cho phần mềm dùng trong công việc
- Giá trị của toàn bộ Talon không chỉ nằm ở việc bù đắp khuyết tật, mà còn ở chỗ nó mang lại cách tương tác với máy tính mới mẻ và mạnh mẽ hơn
Vì sao Talon bị phá vỡ trên Wayland
- Desktop Linux đang chuyển từ X11 đã tồn tại hơn 40 năm sang Wayland, và cộng đồng desktop FOSS đã chọn Wayland là tương lai
- Talon cần tích hợp sâu với window manager và compositor để thực hiện các tác vụ cơ bản, nhưng Wayland không cung cấp cách tiêu chuẩn để thực hiện những hành vi này
- Ngay cả tự động hóa nhập văn bản cơ bản nhất cũng dường như không thể theo “cách Wayland chính thống”; người duy trì xdotool, công cụ tự động hóa đầu vào tiêu chuẩn thực tế của X11, đã khảo sát vấn đề này nhưng đi đến một kết luận đầy rối rắm
- Phạm vi Talon cần không chỉ là nhập văn bản mà còn mở rộng sang quản lý cửa sổ, định vị chuột, quản lý clipboard và đọc màn hình
- Những câu trả lời kiểu GNOME làm được nhưng KDE thì không, hoặc wlroots đã có rồi, là chưa đủ
- Việc một nhà phát triển đa nền tảng phải tự viết các triển khai riêng cho nhiều compositor như GNOME, KDE, wlroots hay Niri dựa trên Smithay là điều phi thực tế
- Ràng buộc cốt lõi là không compositor nào triển khai đầy đủ toàn bộ bề mặt API mà Talon cần
Hướng loại bỏ hỗ trợ Linux của Talon
- Aegis, nhà phát triển chính của Talon, tuyên bố rằng khi X11 biến mất và người dùng chuyển sang môi trường không còn hoạt động, Talon sẽ sớm loại bỏ toàn bộ hỗ trợ Linux khỏi bản phát hành công khai
- Talon được chia thành tầng miễn phí và trả phí, trong đó tầng trả phí vẫn sẽ duy trì hỗ trợ X11 trong một thời gian
- Quyết định loại bỏ hỗ trợ Linux khỏi bản phát hành công khai gắn với mục tiêu giảm gánh nặng khi người dùng miễn phí cài đặt rồi bất ngờ phát hiện nó không hoạt động trong môi trường Wayland
- Quyết định này không xuất phát từ ác ý mà từ đánh giá thực tế rằng không còn cách nào để hỗ trợ desktop Linux vào năm 2027
- Nếu không có cách hỗ trợ desktop Linux, thì câu trả lời khả dĩ là loại bỏ chính hỗ trợ desktop Linux
Bài toán mà cộng đồng phải gánh vác
- Những điều kiện Aegis đưa ra cho người dùng muốn cứu Talon trên Linux:
- Không thảo luận với Aegis về hỗ trợ Wayland vì bất kỳ lý do gì
- Cộng đồng phải cùng nhau triển khai thành công toàn bộ bề mặt API Talon cần trên GNOME, KDE và wlroots
- Sau đó một backend Wayland mới cho Talon mới có thể được xem xét
- Bài toán này vẫn là vấn đề khó tiếp cận với cộng đồng, và hệ sinh thái Wayland được mô tả là không thân thiện với những vấn đề người dùng đang gặp phải
- xdg-session-management protocol mất 6 năm từ pull request đầu tiên đến khi hoàn tất
- ext-zones protocol mới được merge gần đây cũng mất hơn 2 năm, chưa tính nhiều năm nghiên cứu và phát triển để hình thành khái niệm ban đầu
- Ban đầu tác giả cho rằng việc giải quyết bị trì hoãn vì các maintainer không biết đến nhu cầu trợ năng đầu vào, nhưng sau khi đọc các mailing list và ghi chép thảo luận trong quá khứ, trạng thái “không ai nói về điều đó” lại giống như một kết quả tự củng cố
Khó khăn khi tham gia vào hệ sinh thái Wayland
- Trong các thảo luận trước đây, có hai phản hồi đặc biệt vẫn là vấn đề:
- Phản hồi của Nate Graham nói đến thực tế rằng các nhà phát triển ứng dụng phải đóng góp ngược dòng cho Wayland upstream
- Trong một thread về trợ năng DEI của Fedora không nêu đích danh Talon, phản hồi của một maintainer GTK từ chối tham gia thảo luận, gọi người dùng là “accessibility maximalists”, và dẫn chiếu tài liệu không liên quan trực tiếp đến trợ năng đầu vào
- Những phản hồi như vậy cùng trạng thái của wayland-protocols làm suy giảm mạnh kỳ vọng rằng chỉ cần giao tiếp thêm là có thể giải quyết
- Hệ sinh thái Wayland dường như vừa yêu cầu phải tham gia, vừa phớt lờ các nhu cầu trợ năng hoặc đòi hỏi nhiều năm lao động toàn thời gian chỉ để có tiến triển nhỏ
- Tác giả gần như đi đến kết luận rằng lý do các vấn đề trợ năng đầu vào không được thảo luận công khai đầy đủ là vì ngay cả khi cố gắng, điều đó cũng có vẻ vô ích
- Cũng trong bối cảnh đó có thể hiểu vì sao nhà phát triển Talon xem desktop Linux là mục tiêu vô vọng và giao lại khả năng cứu vãn cho cộng đồng
Vì sao không muốn rời bỏ desktop Linux
- Desktop Linux vẫn là môi trường mà tác giả muốn tiếp tục sử dụng, vì nó mang lại desktop Plasma, hỗ trợ game mong muốn, các công cụ phát triển cần thiết và công cụ mới nhất cho các khối phần cứng mới
- Trải nghiệm sạch sẽ, không quảng cáo, không những lần thiết kế lại UI tệ hại, không AI bị nhồi nhét khắp nơi cũng là lý do muốn tiếp tục gắn bó với desktop Linux
- Như bài viết năm ngoái của Fireborn, Wayland đã trưởng thành và giờ không còn lựa chọn nào ngoài việc cố gắng đóng góp
- Điều cần thiết là truyền đạt rõ các nhu cầu trợ năng, cách Talon đáp ứng các nhu cầu đó, và vì sao tương lai chỉ có Wayland lại không thể đáp ứng
- Nếu có ai biết con đường tiến lên, đây là lúc họ có thể giúp được những người dùng phụ thuộc vào trợ năng đầu vào
Khả năng và giới hạn của thiết bị nhập liệu con người
- Sau 6 tháng dùng Talon và các công nghệ liên quan, tác giả vẫn có thể tiếp tục cuộc sống và công việc dù không thể dùng bàn phím và chuột truyền thống
- Khi thoát khỏi tư duy xoay quanh bàn phím và chuột, có thể thấy khả năng của thiết bị nhập liệu con người rộng hơn rất nhiều
- Máy tính hiện đại có thể quét mọi ký tự trên màn hình bằng mô hình ML, theo dõi ký tự mà người dùng đang nhìn, rồi cho phép nhấp trực tiếp vào đoạn văn bản đó trong chưa đầy một giây
- Svalboard, một bàn phím chuyên dụng, cũng sẽ sớm được đề cập trong một bài riêng; thiết bị này còn chưa tồn tại cách đây 3 năm
- Talon vẫn đang tiếp tục được cải thiện, đã có rất nhiều lệnh sẵn có, và khi chưa đủ thì cũng có cách để tự viết lệnh
- Nếu muốn tự mình thử những phương thức nhập liệu mới này, thì hiện tại không nên dùng Wayland
1 bình luận
Ý kiến trên Lobste.rs
Bài viết dài và lan man này không nhằm công kích những người yếu thế, mà thực sự đang cố tìm đúng người để nói chuyện nhằm giải quyết một vấn đề lớn và khó
Nếu bạn có thể là người đó hoặc biết ai là người đó, mong bạn liên hệ
Cũng có một bài trước đây từng được đăng trên lobste.rs: https://lobste.rs/s/o0x7rb/your_mouse_free_setups
Nhờ những gợi ý khi đó mà tác giả lần đầu biết đến Talon và Svalboard, nên rất biết ơn
Tôi không làm việc trực tiếp trên stack này, nhưng thực sự rất tiếc, và sẽ cố hết sức để vấn đề này được biết đến nhiều hơn trong không gian KDE. Có thể ai đó có đúng kiến thức sẽ cải thiện được tình hình
Nhắc lại là tôi không thể đảm bảo gì, nhưng muốn nói rằng chúng tôi đang lắng nghe và rõ ràng là muốn giúp
Ai quan tâm có thể vào các kênh Matrix:
#kde-accessibility:kde.org,#kwin:kde.orgNgoài ra, có người đã hỏi phía phát triển Talos về cách làm cho nó hoạt động trên Wayland, nhưng nhà phát triển Talos trả lời rằng: “Wayland is not supported.”
Tôi tự hỏi liệu bài này có thể đến được tay những người ra quyết định về mua sắm phần mềm của chính phủ hay không
Nếu đúng người gửi một email kiểu như “người dùng thiết bị nhập liệu hỗ trợ sắp mất đi con đường trợ năng được hỗ trợ, vì vậy không thể chứng nhận các bản phân phối desktop Linux dựa trên Wayland như Ubuntu hay Red Hat theo tiêu chuẩn EN 301 549/Section 508”, thì có thể sẽ khá hữu ích để phá vỡ thế bế tắc hiện tại
Hiện giờ, một cách rất gián tiếp để cải thiện trợ năng trên Linux là cần có tổ chức nào đó cố kiếm tiền bằng cách bán desktop Linux cho chính phủ. Muốn làm vậy thì rất có thể họ sẽ phải giải quyết vấn đề trợ năng
Với tình hình thế giới hiện nay, tôi từng nghĩ sẽ có bên nào đó tìm cách kiếm tiền từ việc giúp chính phủ bớt phụ thuộc vào Apple và Microsoft
Theo hiểu biết của tôi, nhiều tiến bộ về trợ năng trong hệ UNIX cũng xuất hiện vào thời Sun còn bán desktop cho chính phủ
Tôi cũng được chẩn đoán EDS như tác giả bài gốc, nhưng là từ năm 12 tuổi. Không ai nói với tôi rằng bệnh này sẽ xấu đi, ngược lại tôi còn được nghe rằng “rồi theo thời gian nó sẽ tự biến mất thôi”
Theo thời gian, trong năm vừa qua tôi đã bị giảm sức ở tay, đến mức nhiều lần bị hiểu lầm là có vấn đề thần kinh
Tôi biết thời gian để thiết lập một hệ thống có thể dùng mà không cần tay của mình đang ngày càng ít đi. Khi nhìn Wayland compositor trở thành tiêu chuẩn và X bị đẩy ra ngoài, tôi mất dần động lực học Talon mà một người bạn khác cũng bị EDS đã giới thiệu
Tôi vẫn muốn góp sức xây dựng hỗ trợ khi mình còn có thể, nhưng không biết phải bắt đầu từ đâu, và cảm giác như hầu như chẳng ai quan tâm. Tình cảnh này thật sự rất đau đớn
Việc quay lại một kiến trúc “lỗi thời” để có thể dùng một hệ thống trợ năng thực sự là một bước tiến khổng lồ, và tôi hối hận vì đã không làm sớm hơn. Dù tương lai trợ năng của desktop Linux sẽ ra sao, bạn vẫn nên thử Talon ngay bây giờ
Về sức cơ, hiện tại điều đó có vẻ bất khả thi, nhưng phục hồi là có thể và bắt đầu càng sớm càng tốt. Như tôi đã nói ở trên, sau vài tháng vật lý trị liệu tập trung, tôi đã có thể dùng lại tay một phần. Tôi theo dõi sự hồi phục theo từng tháng, và thấy tiến triển kiểu lấy lại theo thứ tự ngược lại những mốc đã mất trong năm trước
Vì vậy, bắt đầu điều trị càng sớm thì bạn có thể hồi phục càng sớm, dù rốt cuộc điều đó sẽ có ý nghĩa như thế nào đi nữa. Tôi cũng vẫn đang trên hành trình đó, và có lẽ sẽ còn như vậy
Nếu bạn ở Mỹ, có thể xem trang này để tìm nhà vật lý trị liệu có thể giúp: https://www.ehlers-danlos.com/eds-echo-healthcare-professionals/
Đừng đến một nhà vật lý trị liệu bất kỳ. Họ có thể chưa sẵn sàng điều trị cho bệnh nhân EDS, và tình trạng có thể xấu đi thay vì cải thiện
Tôi có thể chia sẻ thêm về hành trình cá nhân của mình để được chẩn đoán và điều trị qua DM hoặc trên nền tảng khác. Nếu muốn, cứ liên hệ
Cảm ơn vì đã nêu ra một vấn đề ảnh hưởng đến rất nhiều người
Tuy vậy, tôi ước là đã không có câu này: “Điều quan trọng là không ai còn muốn đụng vào codebase như bãi rác đó nữa, và Wayland là tương lai mà cộng đồng desktop FOSS đã chọn”
freedesktop, Red Hat, GNOME, bạn hay tôi đều không thể đại diện để nói thay cho toàn bộ cộng đồng desktop FOSS. Cộng đồng này không phải một khối thống nhất, và dĩ nhiên có nhiều buồng vang ý kiến
Tôi không cho rằng cảm xúc và sự đồng thuận lại tuyệt đối như một số người muốn người khác tin. Một vài dự án lớn dường như vẫn chưa quyết định, và cũng chưa cam kết sẽ hoàn toàn chuyển sang Wayland rồi bỏ X. Xem đó như chuyện đã ngã ngũ không phải là sự thật khắc trên đá
Dù vậy, nếu phải bỏ Linux để chuyển sang BSD thì cũng sẽ rất đáng tiếc
Đây là một nhược điểm cụ thể của do-ocracy trong FOSS. Nếu không có đủ người muốn làm một việc, hoặc không có đủ người có thể và sẵn sàng trả chi phí cho việc đó, thì việc ấy sẽ không xảy ra
Đúng là bất kỳ ai cũng có thể duy trì và phát hành một nhánh fork của Xorg để giữ ngọn lửa sống, nhưng chính việc điều đó vẫn chưa xảy ra đã tự nó là một cách “nói thay cho toàn bộ cộng đồng desktop FOSS”
Các hệ BSD cũng đang bổ sung hỗ trợ Wayland, và theo những gì tôi biết thì chưa có dự án BSD nào công bố một nhánh fork đang được duy trì. Và tôi không xem XLibre là một nhánh fork khả thi
Tôi thừa nhận mình có đặc quyền là chưa phải chịu khuyết tật thể chất nghiêm trọng, và tôi đồng cảm với hoàn cảnh của tác giả bài gốc. Có vẻ mức quyền truy cập mà Talon cần có thể được triển khai tốt hơn dưới dạng plugin KWin
Tuy nhiên, Talon là phần mềm nguồn đóng nên khó đánh giá, và việc bảo trì có lẽ cũng sẽ khá rắc rối
Dù cũng phần nào biết về các ràng buộc của Wayland, nhưng với tư cách người dùng nhẹ thì tôi chỉ gặp vài điểm bất thường nhỏ và chưa từng trực tiếp xử lý kiểu vấn đề này
Hy vọng bài viết này sẽ góp phần nâng cao nhận thức trong số những người thực sự có thể tạo ra thay đổi
Tôi cũng muốn biết liệu có ổn không nếu đăng lại bài này ở nơi khác trên Internet để mở rộng độ phủ. Tôi sẽ ghi rõ lưu ý ban đầu rằng hoàn toàn không có ý định công kích người yếu thế, và sẽ nhắc mọi người kiềm chế những phản ứng giận dữ
Talon thật ấn tượng. Tôi hoàn toàn không biết là có thể làm được như vậy
Các ngôn ngữ biểu ý cũng có hoàn cảnh tương tự. Cuối cùng thì việc áp dụng Wayland либо sẽ đâm vào tường ở một số khu vực, либо sẽ phải sửa vấn đề này
Tôi tự hỏi liệu vấn đề này có thể được thảo luận trong bối cảnh European Accessibility Act hay không
Tôi không quen với câu chữ của đạo luật, nhưng tôi biết khả năng truy cập của hệ điều hành là một phần cốt lõi. Có vẻ đây là vấn đề mà Linux sẽ phải giải quyết để tuân thủ, nên có thể trao đổi với các nhà phát triển và các tổ chức cấp vốn châu Âu như Sovereign Tech Agency, NLNet
Tôi chưa từng dùng Talon, nhưng từng khá dễ dàng dùng thiết bị MIDI như pedal sustain piano rồi chuyển nó sang kiểu đầu vào khác bằng một chương trình chuyển tiếp nhỏ
Phần cứng cũng khá rẻ và có nhiều lựa chọn, nên chỉ cần một ít mã kết nối là có thể tái sử dụng rất sáng tạo. Đáng để cân nhắc
Trackball ploopy cũng có vẻ có thể làm một biến thể điều khiển bằng chân. Sẽ cần quả bi lớn hơn và chỉnh lại độ nhạy, còn các nút bấm thì phải thiết kế lại, nhưng theo cách đơn giản nhất thì cũng có thể làm như bàn phím tách rời: dùng chân còn lại nhấn một cụm nút riêng
Về đoạn “năm ngoái, người bảo trì xdotool, công cụ tự động hóa đầu vào tiêu chuẩn trên thực tế của X11, đã tìm cách làm việc này rồi rối trí bỏ đi”, thì năm nay đã thử lại và đạt được khá nhiều tiến triển
Ví dụ có https://hachyderm.io/@whack/116554328265192238. Có vẻ hiện tại họ cũng đang làm thêm các phần việc liên quan để chạy kiểm thử tự động trên nhiều môi trường desktop
Tôi tự hỏi liệu Wayback có thể là một biện pháp vòng tránh tạm thời trong ngắn hạn hoặc trung hạn hay không
Những người bên Alpine đang dẫn dắt việc này, vì họ muốn ngừng đóng gói Xorg mà không phải bỏ các trình quản lý cửa sổ vẫn chưa chuyển sang Wayland
Điều bài viết gốc nói tới là việc Plasma và Gnome loại bỏ hỗ trợ phiên X11 riêng của mỗi bên