Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Improve accessibility of dynamically updated FAQ-related articles

Đang mở
#65 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
52/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
perl

Hướng nghiên cứu

Start at the FAQRelatedArticles widget on the customer ticket form and trace its AJAX replacement, heading, layout, and localization paths. Verify loading, result, no-result, and error announcements without moving focus, add the debounce and semantic structure, then test the widget with a screen reader and keyboard navigation.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Description
The “Helpful articles” (FAQRelatedArticles) widget on the customer ticket form is updated dynamically based on the entered subject and message body.
Currently, these updates are not reliably announced by screen readers. The widget also contains presentational clearing elements, skips a heading level, and sends requests without a short debounce delay.

Current behavior

  • Loading, results, “no results,” and request errors are not announced to screen readers.
  • The dynamic content is replaced entirely after each AJAX response.
  • The page heading hierarchy changes from <h1> directly to <h3>.
  • .Clear elements are used for layout.
  • Searches are triggered without a debounce delay.
  • Article results are already rendered as descriptive links inside a <ul>.
  • Updating the widget does not move keyboard focus.

Expected behavior

  • Screen readers receive concise, non-interrupting status announcements.
  • Announcements cover:
    • Loading
    • One matching article
    • Multiple matching articles
    • No matching articles
    • Loading errors
  • The article list itself is not automatically read in full.
  • Keyboard focus remains in the subject or message field.
  • Requests are delayed briefly to prevent unnecessary repeated updates.
  • The widget has a correct heading hierarchy and semantic region.
  • Layout is handled through CSS rather than .Clear elements.
  • Status messages are translated.

Proposed implementation

  • Add a persistent status element:
<div id="FAQRelatedArticlesStatus"
     class="FAQRelatedArticlesStatus"
     role="status"
     aria-atomic="true"></div>
  • Keep the status element outside the content replaced by AJAX.
  • Render the widget as a labelled section:
<section id="FAQRelatedArticles"
         aria-labelledby="FAQRelatedArticlesHeading">
    <h2 id="FAQRelatedArticlesHeading">
        Helpful articles
    </h2>
</section>
  • Update the status text after each request without moving focus.
  • Add a 400 ms debounce before starting the FAQ search.
  • Add localized singular, plural, no-result, and error messages.
  • Remove .Clear elements and use flexbox for the header layout.
Ngôn ngữ chính
Perl
Star
0
Fork
6
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của RotherOSS/FAQ

Tất cả issue của RotherOSS/FAQ

Issue tương tự

Thêm issue về Perl

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.