Test Manager
The KAYAK app's HOME page presents a concerning level of technical debt and compliance oversights, hindering user experience and raising security concerns. While the page earns a decent overall score of 7, the presence of 12 bugs across a spectrum of critical areas demands immediate attention. Performance suffers significantly from multiple resource loading failures caused by DNS resolution errors and outdated polyfill libraries. GDPR compliance emerges as a prominent area of weakness, with concerns spanning data retention policies, third-party tracking practices, and implicit consent management issues. Furthermore, accessibility falls short with missing alt text for images, inadequate text contrast, and lack of focus indicators on skip links.
The app is still functional and provides travel information to users.
Multiple performance, security, and GDPR compliance issues on the HOME page create a poor user experience and pose potential risks.
This page contains 6 issues detected by our AI testers.
Accessibility Tester
The 'Skip to main content' link, which is crucial for keyboard and screen reader users, lacks a visible focus indicator when it receives focus via keyboard navigation. This violates WCAG 2.4.7 Focus Visible, as users cannot visually identify which element has focus, making navigation difficult, especially for users with motor impairments or cognitive disabilities.
Implement a clear and visible focus indicator (e.g., a CSS outline or box-shadow) for the 'Skip to main content' link when it receives focus.
Addresses WCAG 2.4.7, improves keyboard navigation usability, particularly for users with motor or visual impairments.
Frontend Engineer
API and Networking Tester
The webpage is loading polyfill.min.js from cdnjs with version 4.8.0. Given that the current year is 2025, version 4.8.0 is significantly outdated. Using an outdated polyfill library can lead to missing necessary polyfills for newer browser features, potential compatibility issues with modern browsers, and known security vulnerabilities that have been addressed in newer versions. Newer browser feature support will be degraded, as the polyfills provided in version 4.8.0 might not include the latest fixes and features.
Update the version of polyfill.min.js to the latest stable version available on cdnjs. Evaluate modern toolchains that handle polyfilling automatically such as Babel or a modern bundler.
Fixing this will ensure compatibility with newer browsers, improve performance by only including necessary polyfills, and mitigate potential security vulnerabilities associated with outdated libraries.
Frontend Engineer
https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0&features=es2015%2Ces2016%2Ces2017%2Ces2018%2Ces2019%2Cfetch%2CAbortController%2CIntersectionObserver%2CResizeObserver%2CstructuredClone%2CCustomEvent%2CArray.prototype.at%2CArray.prototype.flatMap%2CObject.entries%2CObject.fromEntries%2CNodeList.prototype.forEach%2CElement.prototype.closest%2CElement.prototype.append%2CElement.prototype.remove%2CString.prototype.replaceAll%2CString.prototype.matchAll%2CIntl.PluralRules
AI Tester
The console log contains numerous 'Failed to load resource: net::ERR_NAME_NOT_RESOLVED' errors. This indicates that the browser is unable to resolve the domain names of the resources, leading to failed requests and potentially broken functionality.
Investigate the DNS configuration of the application and the server hosting the resources. Ensure that the domain names are correctly configured and accessible. Check network connectivity and firewall rules.
Resource loading failures can lead to broken images, stylesheets, scripts, and other essential components, resulting in a degraded user experience or complete application malfunction. The occurrence of many of these errors implies a serious system issue.
DevOps Engineer, Backend Engineer, Network Engineer
Examine network calls to identify the failing resources.
Privacy and Security Tester
The website does not appear to provide a clear and easily accessible data retention policy outlining how long user data is stored and processed. GDPR mandates this transparency. Without a specified data retention policy, it's impossible to determine if the website is adhering to the principle of storage limitation.
Implement a clear and easily accessible data retention policy outlining the types of data stored, the purpose of storage, and the retention period for each type of data. This information should be included in the privacy policy and potentially summarized in a user-friendly manner within the user's account settings.
Failure to provide a clear data retention policy violates GDPR and can lead to legal repercussions. It also undermines user trust and transparency.
Legal/Compliance, Backend Engineer
Privacy and Security Tester
The network requests to `https://www.kayak.com/i/api/fullstory/v1/get` and `https://72164059993b.cdn4.forter.com/sn/72164059993b/script.js` indicate the use of FullStory and Fortter, respectively. FullStory is a session replay tool that records user interactions, and Fortter is a fraud prevention service. Using these tools without clearly disclosing their presence and obtaining explicit consent from users violates GDPR's transparency and consent requirements. The Privacy Policy needs to disclose these third-party trackers, and users should be able to disable them. The request URLs imply a lack of user opt-in or sufficient notification.
Implement a consent management platform that allows users to opt-in or opt-out of tracking by FullStory and Fortter. Clearly disclose the use of these tools in the privacy policy, including the types of data collected and their purposes. Ensure data collected by these tools is anonymized or pseudonymized where possible.
Failure to disclose third-party tracking and obtain user consent violates GDPR and undermines user trust. Misuse of session recording tools can also raise ethical concerns.
Frontend Engineer, Legal/Compliance, Backend Engineer
https://www.kayak.com/i/api/fullstory/v1/get, https://72164059993b.cdn4.forter.com/sn/72164059993b/script.js
Usability Tester
The 'Travel deals under $210' section displays deals with start and end dates in July 2024. The current date is June 4, 2025. These deals are no longer valid and should either be updated or removed, since the dates are in the past. A user arriving on this page in 2025 would be confused and waste time on deals that are no longer bookable.
Update the travel deals to reflect current or future travel dates.
Prevents user frustration and wasted effort by displaying valid, bookable travel options.
Backend/Data Engineer
This test verifies that a user can open the number of passengers popup to configure the number of adults, children and infants for the flight searches.
Select a step to view details
This test verifies that a user can select the Round-trip option for flight searches. It ensures the selected option is correctly reflected in the UI.
Select a step to view details
This test verifies that when a user types into the destination airport field, it will provide a list of matches that autocomplete the text entered.
Select a step to view details
This test verifies that a user can select the One-way option for flight searches. It ensures the selected option is correctly reflected in the UI and the date fields change to accommodate one-way flight.
Select a step to view details
This test verifies that submitting a flight search form with empty fields results in an appropriate error message or no results are displayed.
Select a step to view details
This test verifies that the aria-label of the Skip to Main Content link is set to a descriptive value that lets screen-reader users know the functionality of the link.
Select a step to view details
This test verifies that the 'Skip to main content' link is initially hidden and becomes visible when the page loads or gains focus, as it is typically designed for screen reader users and keyboard navigators.
Select a step to view details
This test verifies that the 'Skip to main content' link's `href` attribute correctly points to the main content area, ensuring focus is moved to the appropriate section.
Select a step to view details
This test verifies that when the 'Skip to main content' link is not present on the page (e.g., due to a rendering issue or A/B test), the page functions gracefully without it. The page should not throw errors or have unexpected behavior.
Select a step to view details
This test verifies that the 'Skip to main content' link is properly announced by screen readers, providing useful context to visually impaired users.
Select a step to view details
This test verifies that the 'Skip to main content' link correctly focuses the user on the main content area of the page and allows for proper tab navigation within that area. It validates the accessibility and usability of the webpage for users who rely on keyboard navigation.
Select a step to view details
This test verifies that the `href` attribute of the 'Skip to main content' link points to a valid anchor within the page (`#main`). A broken or incorrect `href` would prevent the link from working as intended, harming accessibility.
Select a step to view details
This test verifies that the page handles the case where the 'Skip to main content' link has an invalid or missing `href` attribute gracefully. It prevents unexpected behavior if the link is misconfigured.
Select a step to view details
This test verifies that after using the 'Skip to main content' link, keyboard navigation (Tab key) is properly contained within the main content area and does not accidentally move focus outside of it until explicitly closed, aiding accessibility.
Select a step to view details
The primary purpose of the Kayak website is to enable users to compare prices for flights, hotels, and rental cars from various travel sites. It also offers tools for travel planning, such as price alerts and flight tracking.
Overall, the site is very useful for travel planning. It is easy to use and provides a lot of information. The design is modern and appealing. However, there are a few things that could be improved, such as the accessibility for users with disabilities. Also, the site could benefit from a more personalized experience.
Visually appealing, easy to navigate and has a modern design.
The site is very easy to use. The search functionality is excellent, and the results are displayed clearly. The filtering options are also helpful.
The content is relevant and informative. The site provides a wide range of travel options and helpful planning tools.