Skip to content
https://vnexpress.net

Accessibility

· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.
SCORE
66
GRADE
D
FIX
8
REVIEW
6
PASS
10
INFO
0
Checks
24
10 PASS 6 REVIEW 8 FIX
F
Heading Hierarchy
Action
609 headings, 5 skip(s)
FIX
609 headings, 5 skip(s)
Warning::
Multiple H1 headings (5 found)
A page should have only one H1. Multiple H1s dilute the document outline.
Warning::
Heading level skipped: H1 → H3 (missing H2)
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Warning::
Heading level skipped: H2 → H4 (missing H3)
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Warning::
Heading level skipped: H2 → H4 (missing H3)
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Warning::
Heading level skipped: H2 → H4 (missing H3)
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Warning::
Heading level skipped: H2 → H4 (missing H3)
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Warning::
6 empty heading(s)
Empty headings appear in the document outline but provide no information.
  • H1 (empty)
  • H3 Việt Nam phản đối Trung Quốc xây dựng trái phép tại Hoàng Sa skipped
  • H3 Chặng đường yêu của Hoàng Oanh, Patrik Lê Giang 9
  • H3 Ông Trump mua bán loạt cổ phiếu xăng dầu giữa chiến sự Iran 10
  • H3 Người thả diều thừa nhận sai phạm khi làm ảnh hưởng 16 chuyến bay 5
  • H3 Chiếc áo giúp 'né' camera AI giám sát
  • H3 Trung Quốc khai trừ tướng cấp cao khỏi Quân ủy Trung ương
  • H3 10 giờ dòng lũ quét xé toạc vùng biên giới Nepal
  • H3 Biên giới Nepal - Trung Quốc trước và sau lũ quét
  • H3 Lộ trình dự kiến hạn chế xe xăng, dầu ở TP HCM
  • H3 Mối tình Cảnh Điềm và tỷ phú tiền ảo
  • H3 Hà Nội làm cầu cạn mở rộng đường ven Hồ Tây
  • H3 Alvarez trầm cảm trong lúc đòi sang Barca
  • H3 Về quê nghỉ lễ 2/9: Đi 3 tiếng chưa ra khỏi thành phố
  • H3 Iran lần đầu lên tiếng về 'âm mưu ám sát Barron Trump'
  • H3 Cách nữ nghệ sĩ 42 tuổi giảm 19 kg không cần nhịn ăn
  • H3 Hồ nghẽn dòng tràn bờ, Nepal sơ tán nhân viên cứu hộ
  • H3 Tân Sơn Nhất mở đường nối nhà ga quốc tế với nội địa
  • H3 ‘Nghịch lý Hormuz’ của Iran
  • H3 Phong cách thời trang của hậu vệ Thái Lan Wanchai
  • H3 Cửa ngõ Hà Nội, TP HCM ùn tắc nhiều km từ chiều đến đêm
  • H3 Nhà báo Saudi: 'Ronaldo chủ động xin thay người ở trận thắng ngược của Al Nassr'
  • H3 Thị trường chuyển nhượng Anh đứng trước nguy cơ vỡ bong bóng
  • H3 Kiev báo động không kích nhiều chưa từng thấy từ đầu xung đột
  • H3 Tên lửa Starship được thu hồi sau hơn một tháng nổi trên biển
  • H3 'Siết bán hàng online để ngăn những vụ như Huấn Hoa Hồng'
  • H3 Cách rã đông thịt vừa nhanh vừa an toàn
  • H3 Hai nhân viên sân bay Frankfurt tử vong nghi do muỗi từ máy bay
  • H3 Nga 'bắt đầu dùng tên lửa Iskander-1000' để tập kích Ukraine
  • H3 Iran duy trì được giao thương với nước nào trước sức ép của Mỹ?
  • H3 Cách giúp lần đầu êm dịu
  • H2 Thế giới
  • H3 Ông Trump đổi tên hồ biên giới với Canada thành 'hồ Mỹ'
  • H3 Vùng Vịnh khó xử trước đòn cô lập kinh tế Iran của Mỹ
  • H3 Nga 'bắt đầu dùng tên lửa Iskander-1000' để tập kích Ukraine 12
  • H3 Kiev báo động không kích nhiều chưa từng thấy từ đầu xung đột 3
  • H3 Cảnh sát trưởng Jeju cúi đầu xin lỗi vì vụ xử lý sai án mất tích 3
  • H2 Thể thao
  • H3 Thị trường chuyển nhượng Anh đứng trước nguy cơ vỡ bong bóng
  • H3 HLV Kim Sang-sik: 'Tôi lấy Đình Bắc để làm liệu pháp gây sốc lên đội tuyển Việt Nam'
  • H3 Yotsakorn: 'Nếu đủ quân, Thái Lan có lẽ sẽ thắng Việt Nam' 176
  • H3 Alcaraz cùng nhánh Djokovic ở Mỹ Mở rộng 2026 23
  • H3 Nhà báo Saudi: 'Ronaldo chủ động xin thay người ở trận thắng ngược của Al Nassr' 24
  • H2 Giải trí
  • H3 Cảnh Điềm bị tỷ phú kiện đòi lại sính lễ
  • H3 Sách
  • H3 Di sản của Charles Dickens
  • H3 Hậu trường cảnh hành động của phim hình sự 'Lửa trắng' 2
  • H3 Võ Việt Chung làm túi xách từ Lãnh Mỹ A và lục bình 2
  • H3 Diễn viên lồng tiếng Optimus Prime trong 'Transformers' qua đời 1
  • H2 Pháp luật
  • H3 Người đăng quyết định khởi tố giả 'vụ tai nạn ở phố Nguyễn Huy Tự' bị phạt
  • H3 9 người liên quan đường dây đưa người xuất nhập cảnh trái phép bị bắt
  • H3 Bảo vệ ngân hàng dùng dây xích đánh đồng nghiệp tử vong 10
  • H3 Đường dây buôn bán gần 1.000 bình khí cười 1
  • H3 Hàn Quốc sẽ phạt tiền gấp 50 lần người 'phe vé' bóng đá, ca nhạc 6
  • H2 Thời sự
  • H3 Dòng ôtô ken đặc quanh Tân Sơn Nhất trước kỳ nghỉ 2/9
  • H3 Cán bộ đổi mới có thể được miễn trách nhiệm khi sai sót
  • H3 Tổng Bí thư: Quảng Ninh phải đẩy nhanh chuyển đổi từ 'nâu sang xanh'
  • H3 Xe khách cháy ngùn ngụt trong cây xăng ở TP HCM 2
  • H3 'Siết bán hàng online để ngăn những vụ như Huấn Hoa Hồng' 10
  • H2 Góc nhìn
  • H4 AI làm, ai hiểu? skipped
  • H3 Sống lại để 'được chết'
  • H2 Kinh doanh
  • H3 Iran duy trì được giao thương với nước nào trước sức ép của Mỹ?
  • H3 Doanh nghiệp bị xác định 'không hoạt động tại địa chỉ đăng ký' khi nào?
  • H3 Quyền lực của OPEC+ ngày càng suy giảm 14
  • H3 Nhiều dự án điện trọng điểm nguy cơ chậm tiến độ 1
  • H3 Chủ sở hữu Saigon Marina IFC lỗ hơn 200 tỷ đồng 1
  • H3 Lãi suất tiết kiệm tại quầy
  • H3 Giá vàng thế giới
  • H3 Giá vàng SJC
  • H3 Lãi suất tiết kiệm Online
  • H3 Lãi suất tiết kiệm tại quầy
  • H3 Giá vàng thế giới
  • H3 (empty)
  • H3 năm phụng sự khát vọng Việt
  • H3 Đầu tư
  • H3 Qualcomm muốn đưa Việt Nam thành trung tâm R&D AI lớn thứ ba của tập đoàn trên toàn cầu
  • H3 (empty)
  • H3 Cẩm nang
  • H3 Hành tinh kêu cứu
  • H3 Chính sách
  • H3 Doanh nghiệp xanh
  • H3 Người California được hỗ trợ 18.300 USD để biến xe điện thành 'pin lưu trữ' 16
  • H3 TP HCM dự kiến bắt buộc phân loại rác tại nguồn vào 2027 10
  • H2 Đời sống
  • H3 Cách rã đông thịt vừa nhanh vừa an toàn
  • H3 Lĩnh án tù vì dùng robot hút bụi quay cảnh vợ ngoại tình
  • H3 Thành phố Hàn Quốc đóng cửa khoa sản cuối cùng 7
  • H3 Không dám tan làm đúng giờ 450
  • H3 Cách thức dậy không cần chuông báo thức 9
  • H2 Sức khỏe
  • H4 Mi mắt lật ngược sau cắt mí skipped
  • H3 Các bệnh
  • H4 Formaldehyde trong rau cải thảo tàn phá cơ thể ra sao?
  • H4 Cơ quan nào 'suy yếu' đầu tiên sau tuổi 40? 10
  • H4 Bị tiểu đường thai kỳ chỉ nên ăn gạo lứt?
  • H4 Phân biệt thiếu máu não thoáng qua với hạ đường huyết
  • H4 Thứ trưởng Y tế: Công nghệ nha khoa phải vừa túi tiền người dân 4
  • H4 Phát hiện gene bệnh tan máu bẩm sinh ở tuổi 30
  • H4 Lợi ích của vitamin A với mắt 1
  • H4 Vợ người hiến tạng: 'Mong người nhận tạng sống tốt thay cả phần đời chồng tôi' 7
  • H2 Khoa học công nghệ
  • H4 'Zalo cạnh tranh sòng phẳng với nền tảng ngoại' skipped
  • H4 Tên lửa Starship được thu hồi sau hơn một tháng nổi trên biển 10
  • H4 Cuộc đua Internet gia đình tốc độ 2 Gbps tại Việt Nam 42
  • H4 Startup Trung Quốc xác nhận đứng sau mô hình AI bí ẩn 41
  • H4 LG đưa AI lên màn hình gaming OLED UltraGear 1
  • H4 'Sụp đổ sông băng có thể tái diễn thảm họa lũ quét Nepal' 1
  • H4 'Cần tạo môi trường tự do sáng tạo cho đội ngũ trí thức'
  • H2 Hoạt động Bộ KH&CN (S.T.I.D)
  • H4 Việt Nam sắp có thêm đầu số di động mới 7 skipped
  • H4 Mỗi thiết bị đo lường có thể được gắn mã quản lý riêng 3
  • H4 Dùng Internet vệ tinh kết nối tạm thời cho thôn, bản trắng sóng 35
  • H4 Đề xuất để người dân dùng chữ ký số miễn phí 6
  • H4 Bộ Khoa học và Công nghệ tập huấn thi hành pháp luật cho địa phương 1
  • H2 (empty)
  • H3 Diễn đàn
  • H3 Nền tảng - Kiến tạo
  • H4 Con người đã tạo ra 'hóa chất vĩnh cửu' như thế nào? 1
  • H2 Giáo dục
  • H3 Tin tức
  • H3 Tuyển sinh
  • H3 Chân dung
  • H3 Du học
  • H3 Giáo dục 4.0
  • H3 Trắc nghiệm
  • H3 Giải bóng rổ trẻ VnE
  • H3 Dự kiến lắp camera trong phòng thi học sinh giỏi quốc gia
  • H3 Mỹ siết đường thực tập của du học sinh
  • H2 Bất động sản
  • H3 Chính sách
  • H3 Thị trường
  • H3 Dự án
  • H3 Không gian sống
  • H3 Tư vấn
  • H3 Kinh tế vùng
  • H3 Lãi suất vay mua nhà tiếp tục tăng
  • H3 Căn hộ 20 năm tuổi được cải tạo theo phong cách vintage
  • H2 Tâm sự
  • H3 Đau đớn khi phát hiện người chồng sống bên tôi 12 năm là gay
  • H3 Buồn vì bị bạn nói 'thất nghiệp mà dùng điện thoại xịn'
  • H2 (empty)
  • H2 Podcasts
  • H3 Lúng túng xác định khoảng cách an toàn trên cao tốc 161
  • H3 Vì sao người tiền sử châu Phi vượt bẫy tuyệt chủng? 1
  • H3 Nhiều tài sản cùng giảm, 'bắt đáy' thế nào? 2
  • H3 Camera AI siết phạt nguội, người đi xe bỏ thói quen chạy ẩu 9
  • H2 Du lịch
  • H3 Giá vé máy bay giờ chót lễ 2/9 vẫn 'dễ chịu'
  • H3 Bên trong tàu di sản Huế - Phong Nha 4
  • H3 Khách Tây múa 'Việt Nam quê hương tôi' giữa Cổng trời Quản Bạ 3
  • H3 Bốn mùa 'đẹp như tranh' ở cố đô Nhật Bản 8
  • H3 Ai được phép đóng và mở rèm che cửa sổ trên máy bay? 2
  • H3 Thái Lan thay đổi để kéo khách Việt quay lại 11
  • H3 Nhiều điểm du lịch miền Trung kín phòng dịp lễ 2/9 6
  • H2 Xe
  • H3 Nữ biker lái môtô hơn 200 km/h, một tay dùng điện thoại
  • H3 4 vấn đề cần hiểu rõ về khoảng cách an toàn trên cao tốc 150
  • H3 Những tình huống khiến lái mới bối rối khi vào cao tốc dịp lễ 3
  • H3 Lao công gây sốt vì lái Toyota Fortuner đi làm 11
  • H3 Lexus vượt Mercedes thành thương hiệu xe sang đắt khách nhất Việt Nam 36
  • H3 Ôtô gây va chạm khi cố vượt nhóm trẻ qua đường 221
  • H3 Phân định đúng, sai khi 'điền vào chỗ trống' trên cao tốc 113
  • H2 Ý kiến
  • H3 Vì sao nhiều nhà ở quê vẫn làm toilet chung với nhà tắm dù đất rộng?
  • H3 Cháu tôi thi Văn, Toán 5 điểm vẫn đỗ đại học vì tiếng Anh 9 điểm
  • H3 Bỏ 500 triệu mua ôtô nhưng một năm đi được 3.000 km
  • H2 Thư giãn
  • H3 Cười
  • H3 Đố vui
  • H3 Chuyện lạ
  • H3 Crossword
  • H3 Thú cưng
  • H3 Trò chơi
  • H3 Người IQ cao mới vượt qua thử thách này trong 25 giây?
  • H3 Bí mật cao thủ võ lâm: Làm sao nhận biết có sát khí?
  • H3 Đuổi hình bắt chữ: Đây là tỉnh nào nước ta?
  • H2 Ảnh
  • H3 Cửa ngõ Hà Nội, TP HCM ùn tắc nhiều km từ chiều đến đêm
  • H3 Dòng ôtô ken đặc quanh Tân Sơn Nhất trước kỳ nghỉ 2/9
  • H3 Diện mạo mới của trục đường ven biển Nha Trang
  • H3 Nhiều tuyến phố Hà Nội bị ngập trong mưa giông
  • H3 Ngôi trường trên nền nghĩa trang Bình Hưng Hòa đón học sinh
  • H3 Cửa ngõ Hà Nội, TP HCM ùn tắc nhiều km từ chiều đến đêm
  • H3 Dòng ôtô ken đặc quanh Tân Sơn Nhất trước kỳ nghỉ 2/9
  • H3 Diện mạo mới của trục đường ven biển Nha Trang
  • H3 Nhiều tuyến phố Hà Nội bị ngập trong mưa giông
  • H3 Ngôi trường trên nền nghĩa trang Bình Hưng Hòa đón học sinh
  • H3 Cửa ngõ Hà Nội, TP HCM ùn tắc nhiều km từ chiều đến đêm
  • H3 Dòng ôtô ken đặc quanh Tân Sơn Nhất trước kỳ nghỉ 2/9
  • H3 Diện mạo mới của trục đường ven biển Nha Trang
  • H3 Nhiều tuyến phố Hà Nội bị ngập trong mưa giông
  • H3 Ngôi trường trên nền nghĩa trang Bình Hưng Hòa đón học sinh
  • H2 Spotlight
  • H3 Tìm ẩn số ADN trong hài cốt liệt sĩ
  • H2 Infographics
  • H3 Đường đi của lũ quét như sóng thần ở biên giới Nepal - Trung Quốc 56
  • H3 Các cách giữ khoảng cách an toàn đúng luật trên cao tốc 48
  • H2 Xem nhiều
  • H3 Tài xế tông nữ sinh ở Vĩnh Long được dìu ra tòa, nói 'không biết tên mình' 104
  • H3 Không dám tan làm đúng giờ 450
  • H3 Lá bài Hormuz dần mất sức nặng với Iran 29
  • H3 Cửa khẩu biên giới Nepal - Trung Quốc bị xóa sổ sau lũ quét 66
  • H3 Lúng túng xác định khoảng cách an toàn trên cao tốc 161
  • H3 Arsenal đấu Real ở vòng phân hạng Champions League 42
  • H3 Diện mạo mới của trục đường ven biển Nha Trang 101
  • H3 Người sống sót kể khoảnh khắc sinh tử giữa trận lũ quét Nepal 29
  • H4 Kỹ năng lãnh đạo và quản lý đội nhóm hiệu quả thời 4.0
  • H4 Combo khóa học chạy bộ
  • H4 [UEH Uni Talk] Hướng nghiệp bền vững 5.0 Empowering Tomorrow
  • H4 Bí quyết chụp ảnh chân dung chuyên nghiệp bằng điện thoại
  • H4 Kỹ năng chỉnh sửa ảnh đẹp bằng điện thoại
  • H4 Bí quyết phục hồi nhanh hơn, chạy bộ tốt hơn
  • H4 Chạy bộ không chấn thương
  • H4 Cách chụp hình bằng điện thoại đẹp như nhiếp ảnh gia
  • H4 Nghệ thuật giao tiếp để thành công
  • H4 Nghệ thuật thuyết phục và thương lượng thành công
  • H4 Kỹ năng lãnh đạo và quản lý đội nhóm hiệu quả thời 4.0
  • H4 Combo khóa học chạy bộ
  • H3 Người dân nhích từng chút một rời Thủ đô về quê nghỉ lễ
  • H3 Cửa ngõ TP HCM đông nghịt xe trước kỳ nghỉ lễ 2/9
  • H3 Cao Thái Sơn tốn 7 triệu tiền nước mỗi tháng tưới khu vườn quanh biệt thự
  • H3 Vụ du học sinh Việt bị sát hại: Nghi phạm dùng ngày sinh nạn nhân để mở cửa
  • H3 Cung hoàng đạo thứ Bảy 29/8: Song Tử gặp người hợp cạ, Bảo Bình có trải nghiệm thú vị
  • H3 12 con giáp gặp may mắn nhiều nhất ở phương diện nào trong cuộc sống?
  • H3 From stadiums to street celebrations, foreign fans embrace Vietnamese football
  • H3 A fall in Ha Giang leads Vietnamese woman to Indian man who would ‘carry her for life’
  • H3 Chinese actress Liu Yifei celebrates 39th birthday in Vietnamese designer dress
  • H3 Court case filed in Singapore against one of world's largest iron traders
  • H3 Apple iPhone price increase ‘inevitable’: report
  • H3 Southeast Asia’s richest man ranks among world’s top 5 one-day wealth gainers
  • H2 Thông tin doanh nghiệp
  • H3 NT&T JSC đạt ISO 9001:2015 về hệ thống quản lý chất lượng
  • H3 5 năm ABI Hà Nội đồng hành cùng ngành kiến trúc, xây dựng
  • H3 Hạ tầng vành đai tăng tốc, mở thêm dư địa kết nối cho Solasta Mansion
  • H3 Hệ thống Hồng Trà Tuổi Thơ kỷ niệm một năm thành lập
  • H3 Vietcombank cảnh báo giả mạo báo chí để 'dụ' đầu tư tiền số
  • H3 Máy tính Flexio của Thiên Long ra mắt tính năng hỗ trợ môn Hình học
  • H3 Hoa viên Bình An tổ chức Vu Lan với thông điệp về đạo hiếu
  • H3 OPES nhận hai giải thưởng tại ASEAN Awards 2026
  • H3 Ống EMT Vietconduit đạt chuẩn UL Mỹ, thêm lựa chọn cho nhà thầu
  • H3 Apollo English tiếp tục được vinh danh 'Nơi làm việc tuyệt vời'
  • H3 VPBank cùng doanh nghiệp Đài Loan đón chu kỳ đầu tư mới tại Việt Nam
  • H3 Volvo Car Việt Nam tổ chức đêm nhạc tri ân ngành y tế
  • H3 'Doanh nghiệp sẽ cạnh tranh bằng năng lực quản trị dữ liệu'
  • H3 Hội thảo về cơ hội lấy thẻ xanh Mỹ theo diện EB-3
  • H3 Honda Việt Nam vinh danh nhân viên dịch vụ khách hàng
  • H3 Bia Saigon đồng hành cùng concert 'Tổ quốc trong tim 2026'
  • H3 Beiersdorf Việt Nam lấy trải nghiệm nhân viên làm nền tảng phát triển
  • H3 Cenvi hỗ trợ doanh nghiệp SME tháo gỡ khó khăn về thuế
  • H3 KLC Group mở rộng kết nối quốc tế, hướng tới hợp tác xanh
  • H3 VNPT tăng chất lượng Internet hộ gia đình nhờ Wi-Fi Mesh
  • H1 vnexpress asks for your consent to use your personal data to: duplicate H1
  • H1 Manage your data duplicate H1
  • H2 Store and/or access information on a device
  • H2 Use limited data to select advertising
  • H2 Create profiles for personalised advertising
  • H2 Use profiles to select personalised advertising
  • H2 Create profiles to personalise content
  • H2 Use profiles to select personalised content
  • H2 Measure advertising performance
  • H2 Measure content performance
  • H2 Understand audiences through statistics or combinations of data from different sources
  • H2 Develop and improve services
  • H2 Use limited data to select content
  • H2 Ensure security, prevent and detect fraud, and fix errors
  • H2 Deliver and present advertising and content
  • H2 Save and communicate privacy choices
  • H2 Match and combine data from other data sources
  • H2 Link different devices
  • H2 Identify devices based on information transmitted automatically
  • H2 Use precise geolocation data
  • H2 Identify devices based on information actively requested
  • H2 Store and/or access information on a device
  • H2 Use limited data to select advertising
  • H2 Create profiles for personalised advertising
  • H2 Use profiles to select personalised advertising
  • H2 Create profiles to personalise content
  • H2 Use profiles to select personalised content
  • H2 Measure advertising performance
  • H2 Measure content performance
  • H2 Understand audiences through statistics or combinations of data from different sources
  • H2 Develop and improve services
  • H2 Use limited data to select content
  • H2 Storage, duration and usage details
  • H1 Confirm our vendors duplicate H1
  • H2 Exponential Interactive, Inc d/b/a VDX.tv
  • H2 Roq.ad GmbH
  • H2 Index Exchange Inc.
  • H2 Quantcast
  • H2 BeeswaxIO Corporation
  • H2 Sovrn, Inc.
  • H2 Adikteev
  • H2 RTB House S.A.
  • H2 The UK Trade Desk Ltd
  • H2 Nexxen Inc.
  • H2 Epsilon
  • H2 Yahoo EMEA Limited
  • H2 ADventori SAS
  • H2 Triple Lift, Inc.
  • H2 BidTheatre AB
  • H2 Ogury Ltd
  • H2 Xandr, Inc.
  • H2 NEORY GmbH
  • H2 Nexxen Group LLC
  • H2 NEURAL.ONE
  • H2 ADITION (Virtual Minds GmbH)
  • H2 Active Agent (Virtual Minds GmbH)
  • H2 Taboola Europe Limited
  • H2 Equativ
  • H2 Adform A/S
  • H2 Magnite, Inc.
  • H2 RATEGAIN ADARA INC
  • H2 33Across
  • H2 Rakuten Marketing LLC
  • H2 Lumen Research Limited
  • H2 LifeStreet Corporation
  • H2 OpenX
  • H2 Yieldlab (Virtual Minds GmbH)
  • H2 Nano Interactive Group Ltd.
  • H2 Simplifi Holdings LLC
  • H2 PubMatic, Inc
  • H2 Comscore B.V.
  • H2 Flashtalking
  • H2 Sharethrough, Inc
  • H2 PulsePoint, Inc.
  • H2 Smaato, Inc.
  • H2 Semasio GmbH
  • H2 Crimtan Holdings Limited
  • H2 Genius Sports UK Limited
  • H2 Criteo SA
  • H2 SCOPE3 SAS
  • H2 Blis Global Limited
  • H2 Epsilon (Lotame)
  • H2 LiveRamp
  • H2 WPP Media
  • H2 Lamark Media Group, LLC
  • H2 Dynata LLC
  • H2 Azira
  • H2 DoubleVerify Inc.
  • H2 BIDSWITCH GmbH
  • H2 IPONWEB GmbH
  • H2 NextRoll, Inc.
  • H2 Teads France SAS
  • H2 Ströer SSP GmbH (SSP)
  • H2 OS Data Solutions GmbH
  • H2 Permodo GmbH
  • H2 Platform161 B.V.
  • H2 Media.net Advertising FZ-LLC
  • H2 Basis Global Technologies, Inc.
  • H2 Seedtag Advertising S.L
  • H2 SMADEX, S.L.U.
  • H2 Bombora Inc.
  • H2 Outbrain UK Limited
  • H2 EASYmedia GmbH
  • H2 Yieldmo, Inc.
  • H2 A Million Ads
  • H2 MEDIARITHMICS SAS
  • H2 Affle Iberia SL
  • H2 advanced store GmbH
  • H2 Delta Projects AB
  • H2 usemax advertisement (Emego GmbH)
  • H2 emetriq GmbH
  • H2 Publicis Media GmbH
  • H2 M.D. Primis Technologies Ltd.
  • H2 AcuityAds Inc.
  • H2 Rockerbox, Inc
  • H2 StackAdapt Inc.
  • H2 OneTag Limited
  • H2 Cloud Technologies S.A.
  • H2 Smartology Limited
  • H2 Improve Digital
  • H2 DT Exchange (Digital Turbine (IL) Ltd.)
  • H2 Nativo, Inc.
  • H2 Adobe Advertising Cloud
  • H2 Bannerflow AB
  • H2 TabMo SAS
  • H2 Integral Ad Science (incorporating ADmantX)
  • H2 Weborama
  • H2 Comcast International France SAS/FreeWheel Media
  • H2 Readpeak Oy
  • H2 Jivox Corporation
  • H2 Sojern, Inc.
  • H2 Polar Mobile Group Inc.
  • H2 On Device Research Limited
  • H2 ColourCode Ltd
  • H2 Mobfox US LLC
  • H2 Exactag GmbH
  • H2 Celtra Inc.
  • H2 Clipcentric, Inc.
  • H2 ADTIMING TECHNOLOGY PTE. LTD
  • H2 Gemius SA
  • H2 InMobi Technology Services Pte. Ltd.
  • H2 The Kantar Group Limited
  • H2 Samba TV UK Limited
  • H2 MGID Inc.
  • H2 Seeding Alliance GmbH
  • H2 Nielsen Media Research Ltd.
  • H2 Solocal SA
  • H2 Numberly
  • H2 AudienceProject A/S
  • H2 Demandbase, Inc.
  • H2 Effiliation / Effinity
  • H2 Arrivalist Co.
  • H2 Eulerian Technologies
  • H2 Seenthis AB
  • H2 Commanders Act
  • H2 Brand Metrics Sweden AB
  • H2 travel audience GmbH
  • H2 HUMAN
  • H2 Streamwise srl
  • H2 Innovid LLC
  • H2 Papirfly AS
  • H2 Zeta Global Corp.
  • H2 GumGum Australia, Inc.
  • H2 Cint USA, Inc.
  • H2 Verve Group Europe GmbH
  • H2 Jampp LTD
  • H2 Realtime Technologies GmbH
  • H2 DeepIntent, Inc.
  • H2 Happydemics
  • H2 Otto GmbH & Co. KGaA
  • H2 Adobe Audience Manager, Adobe Experience Platform
  • H2 Localsensor B.V.
  • H2 Online Solution
  • H2 ucfunnel Co., Ltd.
  • H2 Adnami Aps
  • H2 BILENDI SA
  • H2 Smartme Analytics
  • H2 Sportradar AG
  • H2 GP One GmbH
  • H2 Mobsuccess
  • H2 Liftoff Monetize and Vungle Exchange
  • H2 MEDIA FORCE COMMUNICATIONS (2007) LTD
  • H2 The MediaGrid Inc.
  • H2 Go.pl sp. z o.o.
  • H2 HyperTV, Inc.
  • H2 Reppublika Research and Analytics Austria GmbH
  • H2 Appier PTE Ltd
  • H2 Cint AB
  • H2 BidMachine Inc.
  • H2 6Sense Insights, Inc.
  • H2 Google Advertising Products
  • H2 GfK GmbH
  • H2 RevJet
  • H2 Protected Media LTD
  • H2 Clinch Labs LTD
  • H2 Hearts and Science München GmbH
  • H2 Amazon Ads
  • H2 LinkedIn Ireland Unlimited Company
  • H2 RZR Global Inc.
  • H2 Moloco, Inc.
  • H2 Nielsen International SA
  • H2 Adtriba GmbH
  • H2 Mintegral International Limited
  • H2 PRECISO SRL
  • H2 Toluna Netherlands B.V. KvK
  • H2 Tangoo S.R.L.
  • H2 TV SQUARED LIMITED d/b/a InnovidXP
  • H2 TikTok Ad Network
  • H2 Extreme Reach, Inc
  • H2 Somplo Ltd
  • H2 Adelaide Metrics Inc
  • H2 Baidu (Hong Kong) Limited
  • H2 Exit Bee Limited
  • H2 TypeA Holdings Ltd
  • H2 Hurra Communications GmbH
  • H2 Gamesight Inc
  • H2 Arpeely Ltd.
  • H2 152 Media LLC
  • H2 MobUpps International LTD
  • H2 Opera Software Ireland Limited
  • H2 xpln.ai SAS
  • H2 Gameloft SE
  • H2 Audion
  • H2 Aryel s.r.l
  • H2 Roivenue s.r.o.
  • H2 Affle Inc
  • H2 Admaster Private Limited
  • H2 Bidease Inc
  • H2 Intango Ltd
  • H2 Peer39
  • H2 Unity Technologies SF
  • H2 Artsai
  • H2 Akamai
  • H2 Meta
  • H2 Aunica
  • H2 Booking.com
  • H2 C3 Metrics
  • H2 Constant Contact
  • H2 IBM
  • H2 Roku Advertising Services
  • H2 Evidon
  • H2 GroovinAds
  • H2 Adacado
  • H2 intelliAd
  • H2 Dstillery
  • H2 MediaMath
  • H2 ZMS
  • H2 Omnicom Media Group
  • H2 PlatformOne
  • H2 Resonate
  • H2 Equativ
  • H2 SMN Corporation
  • H2 Tradedoubler AB
  • H2 TravelClick
  • H2 TrustArc
  • H2 TruEffect
  • H2 CyberAgent
  • H2 advolution.control
  • H2 MicroAd
  • H2 MainADV
  • H2 Trend Research
  • H2 Ensighten
  • H2 AdMaxim
  • H2 Batch Media
  • H2 Vodafone GmbH
  • H2 Outbrain Inc.
  • H2 Magnite
  • H2 Yango
  • H2 Neustar
  • H2 Scenestealer
  • H2 Mail.ru
  • H2 Walmart
  • H2 Manage.com
  • H2 Cloudflare
  • H2 Salesforce DMP
  • H2 Pixalate
  • H2 Netflix
  • H2 ebuilders
  • H2 AppLovin Corp.
  • H2 Cadent
  • H2 AdTheorent, Inc.
  • H2 Vistar Media EMEA
  • H2 Fractional Media
  • H2 MSI-ACI
  • H2 Admetrics
  • H2 Chocolate Platform
  • H2 TripAdvisor
  • H2 Navegg
  • H2 Admedo
  • H2 Kochava
  • H2 LeadBolt
  • H2 Mobitrans
  • H2 ADEX
  • H2 Placed
  • H2 Impact
  • H2 Spotad
  • H2 F@N communications
  • H2 SFR
  • H2 Cablato
  • H2 Waystack
  • H2 Vpon
  • H2 NinthDecimal
  • H2 Tapjoy
  • H2 Treepodia
  • H2 Optimize LCC D.B.A Genius Monkey
  • H2 Yahoo! Japan
  • H2 Bizible
  • H2 Upwave
  • H2 IQM
  • H2 CUBED
  • H2 Optomaton
  • H2 Dentsu Aegis Network
  • H2 appTV
  • H2 Digiseg
  • H2 UNICORN
  • H2 Fiverr
  • H2 Haensel AMS
  • H2 NativeAds.com
  • H2 BDSK Handels GmbH & Co. KG
  • H2 Objective Partners
  • H2 Supership
  • H2 Marketing Science Consulting Group, Inc.
  • H2 DENTSU
  • H2 Snap Inc.
  • H2 Kobler
  • H2 AppsFlyer
  • H2 Native Touch
  • H2 Widespace
  • H2 Adstra
  • H2 Vimeo
  • H2 Blue
  • H2 Oracle Data Cloud
  • H2 Barometric
  • H2 Adjust GmbH
  • H2 Throtle
  • H2 ironSource Mobile
  • H2 Medialabs
  • H2 Chartboost
  • H2 Tuky Data
  • H2 CONTXTFUL
  • H2 MarketCast LLC
  • H2 LeadsRx
  • H2 Clario
  • H2 clean.io
  • H2 nativeMsg
  • H2 bet365
  • H2 Ad Lightning
  • H2 Amplified Intelligence
  • H2 TemuDSP
  • H2 DISQO
  • H2 BIGOAds
  • H2 Mercado Livre
  • H1 (empty)

A page should have only one H1. Multiple H1s dilute the document outline.

Why this matters

Multiple H1s blur the page's primary topic — screen-reader users and Google both prefer one H1.

Learn more

HTML5's outline algorithm technically allows multiple H1s within sectioning content, but no browser implements it. In practice: one H1 per page. Use H2-H6 for subsections.

Source: WCAG 2.4.6 / Google Search Central

Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.

Why this matters

Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.

Learn more

Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.

Source: WCAG 2.1 SC 1.3.1 / W3C WAI

Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.

Why this matters

Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.

Learn more

Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.

Source: WCAG 2.1 SC 1.3.1 / W3C WAI

Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.

Why this matters

Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.

Learn more

Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.

Source: WCAG 2.1 SC 1.3.1 / W3C WAI

Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.

Why this matters

Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.

Learn more

Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.

Source: WCAG 2.1 SC 1.3.1 / W3C WAI

Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.

Why this matters

Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.

Learn more

Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.

Source: WCAG 2.1 SC 1.3.1 / W3C WAI

Empty headings appear in the document outline but provide no information.

Why this matters

Empty <hN> tags break the document outline — screen-reader users navigating by heading hit dead silence.

Source: WCAG 2.4.6

D
Iframe Accessibility
Action
16/16 iframe(s) missing title; 0 placeholder(s)
FIX
16/16 iframe(s) missing title; 0 placeholder(s)
Warning::
<iframe> missing title attribute (src="")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://g.eclick.vn/delivery/eclookup.html?fosp_aid=yzz43vy6tjikths6.1787927072…")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="about:blank")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="about:blank")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="about:blank")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="about:blank")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="about:blank")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://s.eclick.vn/delivery/sync_retar.html")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="about:blank")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://cdn.taboola.com/scripts/prebid_iframe_sync.html")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=158804")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://sync.inmobi.com/prebidjs?")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://gum.criteo.com/syncframe?origin=criteoPrebidAdapter&topUrl=vnexpress.ne…")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
Warning::
<iframe> missing title attribute (src="https://js-sec.indexww.com/um/ixmatch.html")
WCAG 4.1.2: iframes need a title attribute so screen readers can announce what's embedded. Without one, the announcement is just "iframe" -- the user has no way to decide whether to enter or skip.
F
404 Error Page
Action
HTTP 406, bare page
FIX
HTTP 406, bare page
Warning::
Unexpected status code: HTTP 406
Expected HTTP 404 but received 406. This may confuse search engine crawlers.
Got: HTTP 406
Warning::
Bare server default 404 page
The 404 page has no custom styling. Users hitting a broken link see a generic error with no way to navigate back. Add a custom 404 page with your site navigation and a search bar.
404 Page Quality Default 404 Page
Status Code HTTP 406 Custom Styling Navigation Homepage Link Search Form
D
Web Manifest
Action
Valid manifest
FIX
Valid manifest
Info::
Name present: VnExpress
Warning::
No 192x192 icon
A 192px icon is required for PWA installation.
Info::
Display mode: fullscreen
PWA Install Criteria Not Installable
Name VnExpress 192×192 icon 512×512 icon Start URL Display Mode fullscreen
Name VnExpress Display Mode fullscreen
D
Dark Mode Support
Action
No dark mode signals
FIX
No dark mode signals
Info::
No dark mode signals detected
Consider adding CSS with @media (prefers-color-scheme: dark) and <meta name='color-scheme' content='light dark'>.
Info::
Detection limited to meta tags and inline styles
External CSS files may contain prefers-color-scheme rules not visible to this scan.
Dark ModeNo Dark Mode Detected
color-scheme meta Not set Dark theme-color Not set CSS indicators Not detected

Detection limited to meta tags and inline styles.

D
Print Stylesheet
Action
No print styles
FIX
No print styles
Info::
No print-specific styles detected
When users print this page, they get the screen layout including navigation and non-essential elements. Add @media print rules to hide navigation and optimize layout for paper.
Print Stylesheet No Print Styles
Print stylesheet Not found Inline @media print Not detected
F
Navigation UX
Action
No navigation patterns
FIX
No navigation patterns
Info::
1 navigation landmark(s) detected
Info::
No breadcrumbs, search, or skip link detected
These navigation aids help users orient themselves and find content efficiently, especially on large sites.
Breadcrumbs
Search
Skip Link
Labeled Navigation 1 <nav> element(s)
Back to Top
Hamburger Menu
Sticky Navigation Cannot reliably detect (CSS-based)
1 of 6 testable patterns navigation patterns detected. Limited navigation support. Consider adding breadcrumbs, search, and skip link.
C
Landmark Structure
Action
4 landmarks
REVIEW
4 landmarks
Critical::
No <main> landmark found
Screen reader users cannot quickly navigate to the primary content. Wrap your main content in <main>.
Info::
1 <nav> landmark(s) found
Warning::
Skip navigation link is missing (WCAG 2.4.1)
Add a skip link as the first focusable element so keyboard users can bypass repeated navigation.
Page Structure — as a screen reader sees it
BANNER header NAV MAIN (missing!) ASIDE CONTENTINFO footer

Screen reader users cannot quickly navigate to the primary content. Wrap your main content in <main>.

Why this matters

Without a <main> landmark, screen-reader users can't skip past the navigation to the page content — every page starts with re-reading the menu.

Learn more

The <main> element marks the page's primary content area. Assistive tech offers a 'jump to main' shortcut — but only if <main> exists. Without it, every page navigation forces re-reading the header. Wrap your primary content in a single <main>.

Source: WAI-ARIA / WCAG 2.4.1

Add a skip link as the first focusable element so keyboard users can bypass repeated navigation.

Why this matters

Without a skip-nav link, keyboard users tab through every nav item before reaching content — every page, every visit.

Learn more

WCAG 2.4.1 (Bypass Blocks) requires a mechanism to skip past repeated content. The standard implementation is a 'Skip to main content' link that's the first focusable element, visually hidden until focused. Three lines of HTML + four of CSS.

Source: WCAG 2.1 SC 2.4.1

B
Heading Text Quality
3 heading-text-quality issue(s) detected
REVIEW
3 heading-text-quality issue(s) detected
Info::
1 heading(s) are too short (≤2 characters) to convey meaning
Headings with 2 or fewer characters are almost always emoji / typos / alignment hacks rather than real headings. Screen readers announce the heading level ("heading 2") and then read the content -- a single-character heading conveys no information. Affected: - H2: "Xe"
Got: 1 ≤2-char heading(s)
Warning::
3 heading(s) are over 120 characters -- likely a misformatted paragraph
Headings beyond 120 characters are almost always full sentences or paragraphs that received heading semantics by mistake (e.g., a CMS editor selected the wrong block type, or a template wrapped a body paragraph in `<h2>`). Screen readers will announce these as "heading" and read the entire paragraph at heading prosody. Affected: - H3: 125 chars - H3: 121 chars - H3: 172 chars
Got: 3 >120-char heading(s)
Info::
17 heading(s) are all-uppercase (excluding short acronyms)
Headings rendered in all-uppercase are a styling choice that should be done via CSS (`text-transform: uppercase`), not by typing the text in caps. Capitalized text is read letter-by-letter by some screen readers (e.g., "H-E-L-L-O W-O-R-L-D" instead of "hello world"). It's also a soft signal of CMS-migration artifacts where the original lowercase intent was lost.
Got: 17 all-caps heading(s)
B
Form Accessibility
2 of 420 controls have issues
REVIEW
2 of 420 controls have issues
Warning::
2 control(s) rely on placeholder only
Placeholder text disappears on focus and is not a reliable label.
Got: <input type="text" name="q" id="keywordHeader">; <input type="text">
Info::
418 control(s) properly labeled
420 controls
418 labeled
2 placeholder only
0 unlabeled
ControlTypeLabelMethod
inputcheckboxConsent (177 vendors)none
inputcheckboxConsent (102 vendors)none
#fc-preference-slider-purpose-2checkboxLegitimate interest (54 vendors)none
inputcheckboxConsent (142 vendors)none
inputcheckboxConsent (142 vendors)none
inputcheckboxConsent (49 vendors)none
inputcheckboxConsent (46 vendors)none
inputcheckboxConsent (112 vendors)none
#fc-preference-slider-purpose-7checkboxLegitimate interest (73 vendors)none
inputcheckboxConsent (53 vendors)none
#fc-preference-slider-purpose-8checkboxLegitimate interest (23 vendors)none
inputcheckboxConsent (83 vendors)none
#fc-preference-slider-purpose-9checkboxLegitimate interest (40 vendors)none
inputcheckboxConsent (92 vendors)none
#fc-preference-slider-purpose-10checkboxLegitimate interest (62 vendors)none
inputcheckboxConsent (22 vendors)none
#fc-preference-slider-purpose-11checkboxLegitimate interest (5 vendors)none
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-11checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-15checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-21checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-23checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-28checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-30checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-32checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-36checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-50checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-52checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-60checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-67checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-69checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-76checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-85checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-93checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-98checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-104checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-124checkboxLegitimate interestnone
#fc-preference-slider-gvl-vendor-126checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-132checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-136checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-137checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-142checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-156checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-163checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-173checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-195checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-209checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-228checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-231checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-232checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-238checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-246checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-253checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-263checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-264checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-278checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-284checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-285checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-290checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-294checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-297checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-308checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-319checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-371checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-394checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-431checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-452checkboxLegitimate interestnone
#fc-preference-slider-gvl-vendor-466checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-527checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-528checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-541checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-559checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-612checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-655checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-657checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-667checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-671checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-690checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-699checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-728checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-740checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-755checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-762checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-767checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-804checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-806checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-807checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-812checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-867checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-986checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1005checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1043checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1067checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1135checkboxLegitimate interestnone
#fc-preference-slider-gvl-vendor-1142checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1230checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1237checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1391checkboxLegitimate interestnone
#fc-preference-slider-gvl-vendor-1412checkboxLegitimate interestnone
inputcheckboxConsentnone
#fc-preference-slider-gvl-vendor-1549checkboxLegitimate interestnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
inputcheckboxConsentnone
#keywordHeadertext(Tìm kiếm)placeholder only
inputtext(Nhập nhu cầu chọn xe để AI tư vấn ngay)placeholder only

Placeholder text disappears on focus and is not a reliable label.

<input type="text" name="q" id="keywordHeader">; <input type="text">

Why this matters

Placeholder-only labels disappear when the user starts typing — they must remember what the field was for.

Learn more

Placeholders are NOT labels. They vanish on input, fail color contrast checks (most are gray), and don't satisfy WCAG SC 3.3.2. Always use a real <label> alongside (or aria-labelledby).

Source: WCAG 2.1 SC 3.3.2 / Nielsen Norman

B
Favicon & Branding
7 icon(s) detected
REVIEW
7 icon(s) detected
Info::
favicon.ico present at site root
Info::
HTML icon links detected
Info::
Apple touch icon present
Info::
Multiple icon sizes detected
favicon.ico Present
PNG Icons Present
Apple Touch Present
SVG Favicon Missing
Manifest Icons Missing
Multiple Sizes Present
B
Color Contrast (Screenshot)
20 text elements analyzed, 0 fail WCAG AA
REVIEW

Analyzes text contrast against the actual rendered page, including background images, gradients, and overlays that CSS-based tools cannot detect.

20 pass 20 pass AA only
Show all checked elements (20)
ElementRatioRequiredFGBGResult
h1 vnexpress asks for y…3.66:13.0:1
#000000
#666666
Pass
h1 Manage your data3.66:13.0:1
#000000
#666666
Pass
h1 Confirm our vendors3.66:13.0:1
#000000
#666666
Pass
h2 Store and/or access …3.66:13.0:1
#000000
#666666
Pass
h2 Use limited data to …3.66:13.0:1
#000000
#666666
Pass
h2 Create profiles for …3.66:13.0:1
#000000
#666666
Pass
h2 Use profiles to sele…3.66:13.0:1
#000000
#666666
Pass
h2 Create profiles to p…3.66:13.0:1
#000000
#666666
Pass
h2 Use profiles to sele…3.66:13.0:1
#000000
#666666
Pass
h2 Measure advertising …3.66:13.0:1
#000000
#666666
Pass
h2 Measure content perf…3.66:13.0:1
#000000
#666666
Pass
h2 Understand audiences…3.66:13.0:1
#000000
#666666
Pass
h2 Develop and improve …3.66:13.0:1
#000000
#666666
Pass
h2 Use limited data to …3.66:13.0:1
#000000
#666666
Pass
h2 Ensure security, pre…3.66:13.0:1
#000000
#666666
Pass
h2 Deliver and present …3.66:13.0:1
#000000
#666666
Pass
h2 Save and communicate…3.66:13.0:1
#000000
#666666
Pass
h2 Match and combine da…3.66:13.0:1
#000000
#666666
Pass
h2 Link different devic…3.66:13.0:1
#000000
#666666
Pass
h2 Identify devices bas…3.66:13.0:1
#000000
#666666
Pass

Methodology: The top 20 text elements by font size were checked. Background color was sampled from the desktop screenshot using a 5-point pattern. WCAG 2.1 AA requires 4.5:1 for normal text and 3:1 for large text.

B
Lighthouse Accessibility Audits
Score 87/100 — 4 failing, 27 passed
REVIEW
87

Accessibility

These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.

Names and labels

When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn how to make buttons more accessible.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
  div.tts-group-top > span#audio_5114668_group-center > span#audio_5114668_playPauseBtn > button.tts-button
div.block_scoll_menu > div.block_search > form#search > button#auto_search_button div.block_scoll_menu > div.block_search > form#search > button#auto_search_button

Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. Learn how to make links accessible.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match
div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match div#js_slider_ltdac > div.swiper-wrapper > div.swiper-slide > a.link-match

These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.

Contrast

Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
33° section.head-weather-today > div.weather > a > span.humidity
26° section.head-weather-today > div.weather > a > span.air
Advertisement div.banner_mobile_300x250 > div.inner_ads > span.text_ads > span.txt_qc
Advertisement div.banner_mobile_300x250 > div.inner_ads > span.text_ads > span.txt_qc
Nhà vũ trụ học section#box_gocnhin_home > div.content_box_gocnhin > div.author_gocnhin > span.position_author
Giá div.box-content-wrap > div.box-header > div.col-headers > span.w-gia
-60 div.box-content > div.row-content > div.price-col > span.change
-70 div.box-content > div.row-content > div.price-col > span.change
-460 div.box-content > div.row-content > div.price-col > span.change
Từ 15:00 27/8/2026 div.price-box > div.box-content-wrap > div.box-footer > span.mb-only
Đơn vị: VND/lít div.price-box > div.box-content-wrap > div.box-footer > span.mb-only
Advertisement div.banner_mobile_300x250 > div.inner_ads > span.text_ads > span.txt_qc
Advertisement div.banner_mobile_300x250 > div.inner_ads > span.text_ads > span.txt_qc
Mua div.box-content-wrap > div.box-header > div.col-headers > span.w-mua
Bán div.box-content-wrap > div.box-header > div.col-headers > span.w-ban
(USD/ounce) a > div.row-content > div.name-col > span.unit
(triệu đồng/lượng) a > div.row-content > div.name-col > span.unit
1 tháng div.box-content-wrap > div.box-content > div.col-rate > span.lbl
3 tháng div.box-content-wrap > div.box-content > div.col-rate > span.lbl
6 tháng div.box-content-wrap > div.box-content > div.col-rate > span.lbl
Advertisement div.banner_mobile_300x250 > div.inner_ads > span.text_ads > span.txt_qc
Advertisement section.section > div.banner_mobile_300x250 > div.inner_ads > span.text_ads
Learn more div.fc-dialog-content > div.fc-dialog-scrollable-content > button.fc-faq-header > span.fc-faq-label

These are opportunities to improve the legibility of your content.

Navigation

Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. Learn more about heading order.

Why this matters

Performance issues directly impact user engagement and conversion rates.

Failing Elements
10 giờ dòng lũ quét xé toạc vùng biên giới Nepal body#home_page > section#top_story > article.art_item > h4.title_news

These are opportunities to improve keyboard navigation in your application.

Interactive controls are keyboard focusable
Interactive elements indicate their purpose and state
The page has a logical tab order
Visual order on the page follows DOM order
User focus is not accidentally trapped in a region
The user's focus is directed to new content added to the page
HTML5 landmark elements are used to improve navigation
Offscreen content is hidden from assistive technology
Custom controls have associated labels
Custom controls have ARIA roles
`[aria-*]` attributes match their roles
`[aria-hidden="true"]` is not present on the document `<body>`
`[role]`s have all required `[aria-*]` attributes
`[role]` values are valid
`[aria-*]` attributes have valid values
`[aria-*]` attributes are valid and not misspelled
Image elements have `[alt]` attributes
Form elements have associated labels
`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.
ARIA attributes are used as specified for the element's role
Elements with `role="dialog"` or `role="alertdialog"` have accessible names.
`[aria-hidden="true"]` elements do not contain focusable descendents
Elements use only permitted ARIA attributes
Document has a `<title>` element
`<html>` element has a `[lang]` attribute
`<html>` element has a valid value for its `[lang]` attribute
Links are distinguishable without relying on color.
Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).
List items (`<li>`) are contained within `<ul>`, `<ol>` or `<menu>` parent elements
No element has a `[tabindex]` value greater than 0
Touch targets have sufficient size and spacing.
Document has a main landmark.
Deprecated ARIA roles were not used
Uses ARIA roles only on compatible elements
Image elements do not have `[alt]` attributes that are redundant text.
Identical links have the same purpose.
Elements with visible text labels have matching accessible names.
`[accesskey]` values are unique
`button`, `link`, and `menuitem` elements have accessible names
ARIA input fields have accessible names
ARIA `meter` elements have accessible names
ARIA `progressbar` elements have accessible names
Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.
`[role]`s are contained by their required parent element
Elements with the `role=text` attribute do not have focusable descendents.
ARIA toggle fields have accessible names
ARIA `tooltip` elements have accessible names
ARIA `treeitem` elements have accessible names
The page contains a heading, skip link, or landmark region
`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.
Definition list items are wrapped in `<dl>` elements
ARIA IDs are unique
No form fields have multiple labels
`<frame>` or `<iframe>` elements have a title
`<html>` element has an `[xml:lang]` attribute with the same base language as the `[lang]` attribute.
Input buttons have discernible text.
`<input type="image">` elements have `[alt]` text
The document does not use `<meta http-equiv="refresh">`
`<object>` elements have alternate text
Select elements have associated label elements.
Skip links are focusable.
Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.
`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.
`[lang]` attributes have a valid value
`<video>` elements contain a `<track>` element with `[kind="captions"]`
Tables have different content in the summary attribute and `<caption>`.
All heading elements contain content.
Tables use `<caption>` instead of cells with the `[colspan]` attribute to indicate a caption.
`<td>` elements in a large `<table>` have one or more table headers.
A+
Alt Text Quality
All 198 images OK
PASS
All 198 images OK
Info::
4 decorative image(s) correctly marked
Info::
194 image(s) with good alt text
198 images 194 good alt text 4 decorative
All images have appropriate alt text.
A+
Form Input Types
420 form control(s) checked, no type mismatches
PASS
420 form control(s) checked, no type mismatches
Info::
No input-type mismatches detected
A+
Form Input Quality
420 form control(s) checked, no input-semantic issues
PASS
420 form control(s) checked, no input-semantic issues
Info::
All form input semantics look correct
A+
Mobile Keyboard & Autofill
No autofill-eligible form controls
PASS
No autofill-eligible form controls
Info::
No autofill-eligible form controls (no name/email/tel/address fields)
A+
Document Language
Lang attribute set to "vi"
PASS
Lang attribute set to "vi"
Info::
<html lang="vi"> is set and valid
Got: vi
A+
Tabindex Anti-Patterns
1439 explicit tabindex attribute(s) checked, no anti-patterns
PASS
1439 explicit tabindex attribute(s) checked, no anti-patterns
Info::
No tabindex anti-patterns detected
A+
Tap Target Adequacy
All tap targets meet WCAG 2.5.5/2.5.8 sizing
PASS
All tap targets meet WCAG 2.5.5/2.5.8 sizing
Info::
All tap targets meet WCAG 2.5.5 (44x44px) sizing
A+
Mobile-Readable Font Sizes
No visible text nodes measured on the page
PASS
No visible text nodes measured on the page
Info::
No visible text nodes measured on the page
A
PWA Depth
3 PWA signal(s) surfaced
PASS
3 PWA signal(s) surfaced
Info::
Service worker registration detected
The page calls `navigator.serviceWorker.register(...)` -- the prerequisite for any real PWA capability (offline support, push notifications, background sync, Cache API). This is a positive signal; whether the registered worker actually does what you want is a separate question (check DevTools > Application > Service Workers).
Info::
Manifest has no maskable icon
Android 12+ Adaptive Icons crop non-maskable icons to a circle or squircle -- frequently hiding important parts of the logo. Add at least one icon entry with `"purpose": "maskable"` (or `"any maskable"`) and a maskable-aware design (16% safe-zone padding around the inner mark).
Info::
Manifest is missing `theme_color`
Without `theme_color`, the install prompt and Android status bar fall back to a generic tint instead of your brand color. Add a hex color (e.g. `"theme_color": "#0066cc"`); for richer support, mirror it via `<meta name="theme-color" content="#0066cc">` so non-installed browsers also pick it up.
A+
Mobile UX Depth
1 mobile-depth signal(s) detected
PASS
1 mobile-depth signal(s) detected
Info::
No `<meta name="theme-color">` -- browser chrome falls back to default
Without `theme-color`, Android Chrome's status bar and iOS Safari's toolbar fall back to a generic gray. Adding a single hex color in `<meta name="theme-color" content="#0066cc">` tints them to your brand color across all mobile browsers.
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback