{"id":19107152,"url":"https://github.com/govtechsg/oobee-desktop","last_synced_at":"2026-03-05T08:12:18.976Z","repository":{"id":163372386,"uuid":"636619970","full_name":"GovTechSG/oobee-desktop","owner":"GovTechSG","description":"Oobee Desktop (formerly Purple A11y) is a customisable, automated web accessibility testing tool that allows software development teams to find and fix accessibility problems to improve persons with disabilities (PWDs) access to digital services.","archived":false,"fork":false,"pushed_at":"2025-12-04T01:46:38.000Z","size":6262,"stargazers_count":53,"open_issues_count":9,"forks_count":9,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-12-07T07:49:45.042Z","etag":null,"topics":["accessibility","automated-testing"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GovTechSG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-05T09:04:45.000Z","updated_at":"2025-12-04T01:46:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"51840ca6-2df1-44f5-875f-976d18d104f2","html_url":"https://github.com/GovTechSG/oobee-desktop","commit_stats":null,"previous_names":["govtechsg/purple-a11y-desktop","govtechsg/oobee-desktop"],"tags_count":98,"template":false,"template_full_name":null,"purl":"pkg:github/GovTechSG/oobee-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Foobee-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Foobee-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Foobee-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Foobee-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GovTechSG","download_url":"https://codeload.github.com/GovTechSG/oobee-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Foobee-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28632781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","automated-testing"],"created_at":"2024-11-09T04:11:25.813Z","updated_at":"2026-01-21T12:01:07.193Z","avatar_url":"https://github.com/GovTechSG.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oobee\n\nOobee (formerly known as Purple A11y) is an accessibility site scanner - a customisable, automated web accessibility testing tool that allows software development teams to find and fix accessibility problems to improve persons with disabilities (PWDs) access to digital services. The official application can only be downloaded at [https://go.gov.sg/oobee](https://go.gov.sg/oobee). We recommend that you download the software only from the official link, as other sources and/or third party links may pose risks and/or compromise your system.\n\nFor software engineers who wish to run Oobee as a command line, please refer to [Oobee (CLI)](https://github.com/GovTechSG/oobee) instead.\n\n\u003cimg alt=\"Oobee Desktop main screen\" src=\"https://github.com/user-attachments/assets/3992115c-d237-4d66-b247-a541a2a49f9e\"\u003e\n\n## Technology Stack\n\n1. [Electron](https://www.electronjs.org/)\n2. [React](https://react.dev/)\n\n## Installations\n\n### Download Oobee\n\nOobee is available as a download for Windows and MacOS. Refer to [Installation Guide](/INSTALLATION.md) for step-by-step instructions.\n\n### Development, Build and Testing\n\n#### NodeJS Requirement\n- Node LTS (22.19.0) is recommended.  The `npm` and `node` command is assumed to be available in `PATH`.\n- Direct internet connection is required or some node modules downloads might fail due to certificate issue in corporate IT environments.\n\n#### Set Engine Version\n\nFirst open terminal and navigate to the location of clone respository of Oobee.\nThen set environment variable BE_TAG to set version of Oobee CLI Portable to be downloaded (see below).  Replace the version of BE_TAG `0.10.68` with the desired version.\n\n#### Build Standalone App\n\n##### For Mac\n\n```shell\nnpm install\nexport BE_TAG=0.10.68\nnpm run make-mac\n```\n\nThis will create a folder in your repository in the _out_ folder.\nEnter and run the `Oobee.app` in the newly created folder in ../out.\n\n##### For Windows\n\n```shell\nnpm install -g win-node-env\nnpm install\n$env:BE_TAG=0.10.68\nnpm run make-win\n```\n\n##### Special information about Mac and Windows built app\n- The Mac dev app includes a zipped Oobee backend when built using `npm run make-mac` process. When Oobee.app is run in the Setting Up screen, it first checks if the bundled `oobee-portable-mac.zip` version of Oobee the version to be unzipped.  If it does not match, it unzips `Oobee.app/Contents/oobee-portable-mac.zip` to the `~/Library/Application Support/Oobee/Oobee Baclemd`.\n- The Windows dev app does not include the Oobee backend. It assumes the location of Oobee (CLI) Portable is already unzipped in `C:\\Program Files\\Oobee Desktop\\Oobee Backend` or `%APPDATA%\\Oobee Desktop\\Oobee Backend`.\n- The Windows installer exe is built using the InnoSetup (automated build pipeline through GitHub Actions).\n\n#### Run and Debug (Development)\n\nThe dev command is provided below so that a user can debug the Oobee app with STDOUT logs in the Terminal.\n\nRun the code below to build Oobee.\n\n##### For Mac\n\n```shell\nnpm install\nnpm run make-mac\n```\n\n##### For Windows\n```shell\nnpm install -g win-node-env\nnpm install\nnpm run build\n```\n\n##### Run the Dev App\nFinally to start Oobee enter the code below.\n\n```shell\nnpm run start\n```\n\n##### Special information about Mac and Windows development\n- The Mac dev app does not include the Oobee Portable backend. It assumes the location of Oobee (CLI) Portable is already unzipped in `~/Library/Application Support/Oobee/Oobee Baclemd`.\n- The Windows dev app does not include the Oobee Portable backend. It assumes the location of Oobee (CLI) Portable is already unzipped in `C:\\Program Files\\Oobee Desktop\\Oobee Backend` or `%APPDATA%\\Oobee Desktop\\Oobee Backend`.\n\nAn application window should be open with the inserted version. You may debug the app through Terminal / PowerShell window.\n\n#### Facing issues?\n\nOpen an [issue ticket](https://github.com/GovTechSG/oobee-desktop/issues) for assistance.\n\n---\n\n## Basic Usage\n\nEnter a valid URL to scan in the textbox and press the \"Scan\" button. The default settings will crawl your website and scan 100 pages for accessibility issues.\n\n![Oobee Desktop main page](https://github.com/user-attachments/assets/94d19cf8-88e4-46c3-b5d6-647b7c615a6e)\n\n## Limiting pages scanned\n\nIf you find a scan takes too long to complete due to large website, or there are too many pages in a sitemap to scan, you may choose to limit number of pages scanned. Click on the drop down and enter the desired number of pages to scan.\n\n![Limit Scan Pages](https://github.com/user-attachments/assets/b0180bd4-bd98-44f8-a8ea-9f73f29b7538)\n\n## Advanced scan options\n\nClick on the \"Advanced scan options\" button to configure the scan options.\n\n![Advanced Scan Options](https://github.com/user-attachments/assets/58bbbf47-30f6-4751-bbb8-b8d6243f5187)\n\n### Scan Type Selection\n\n#### Website Crawl\n\nThe default scan option for Oobee. Oobee will crawl and scan all the links (up to page limit) within the domain in the provided URL.\n\n#### Sitemap Crawl\n\nWith sitemap crawl, provide a URL to a sitemap file (e.g. `https.domain.com/sitemap.xml`) and Oobee will crawl and scan all the links (up to page limit) within the domain in the provided URL.\n\n#### Custom Flow\n\nCustom flow is used to scan Single-Page Applications (SPAs) or websites. Each page-scan is initiated by the user that is triggered via clicking the _`Scan this page`_ button. Once the specific user flow is completed and scanned, close the browser to automatically generate the Custom Flow Report.\n\n![Screenshot 2024-11-04 at 11 08 36 AM](https://github.com/user-attachments/assets/9055ad9c-5dee-47a2-a01e-4d4d91be88cc)\n\n### Viewport Options\n\nCustomise the viewport options to render your websites for desktop and mobile device users.\n\n#### Desktop\n\nDefaults to screen size of 1280x720.\n\n#### Mobile\n\nDefaults to screen size of iPhone 11.\n\n#### Specific device\n\n\u003cdetails\u003e\n  \u003csummary\u003eClick here for list of device options supported\u003c/summary\u003e\n\n- Blackberry PlayBook\n- Blackberry PlayBook landscape\n- BlackBerry Z30\n- BlackBerry Z30 landscape\n- Galaxy Note 3\n- Galaxy Note 3 landscape\n- Galaxy Note II\n- Galaxy Note II landscape\n- Galaxy S III\n- Galaxy S III landscape\n- Galaxy S5\n- Galaxy S5 landscape\n- Galaxy S8\n- Galaxy S8 landscape\n- Galaxy S9+\n- Galaxy S9+ landscape\n- Galaxy Tab S4\n- Galaxy Tab S4 landscape\n- iPad (gen 5)\n- iPad (gen 5) landscape\n- iPad (gen 6)\n- iPad (gen 6) landscape\n- iPad (gen 7)\n- iPad (gen 7) landscape\n- iPad Mini\n- iPad Mini landscape\n- iPad Pro 11\n- iPad Pro 11 landscape\n- iPhone 6\n- iPhone 6 landscape\n- iPhone 6 Plus\n- iPhone 6 Plus landscape\n- iPhone 7\n- iPhone 7 landscape\n- iPhone 7 Plus\n- iPhone 7 Plus landscape\n- iPhone 8\n- iPhone 8 landscape\n- iPhone 8 Plus\n- iPhone 8 Plus landscape\n- iPhone SE\n- iPhone SE landscape\n- iPhone X\n- iPhone X landscape\n- iPhone XR\n- iPhone XR landscape\n- iPhone 11\n- iPhone 11 landscape\n- iPhone 11 Pro\n- iPhone 11 Pro landscape\n- iPhone 11 Pro Max\n- iPhone 11 Pro Max landscape\n- iPhone 12\n- iPhone 12 landscape\n- iPhone 12 Pro\n- iPhone 12 Pro landscape\n- iPhone 12 Pro Max\n- iPhone 12 Pro Max landscape\n- iPhone 12 Mini\n- iPhone 12 Mini landscape\n- iPhone 13\n- iPhone 13 landscape\n- iPhone 13 Pro\n- iPhone 13 Pro landscape\n- iPhone 13 Pro Max\n- iPhone 13 Pro Max landscape\n- iPhone 13 Mini\n- iPhone 13 Mini landscape\n- iPhone 14\n- iPhone 14 landscape\n- iPhone 14 Plus\n- iPhone 14 Plus landscape\n- iPhone 14 Pro\n- iPhone 14 Pro landscape\n- iPhone 14 Pro Max\n- iPhone 14 Pro Max landscape\n- iPhone 15\n- iPhone 15 landscape\n- iPhone 15 Plus\n- iPhone 15 Plus landscape\n- iPhone 15 Pro\n- iPhone 15 Pro landscape\n- iPhone 15 Pro Max\n- iPhone 15 Pro Max landscape\n- Kindle Fire HDX\n- Kindle Fire HDX landscape\n- LG Optimus L70\n- LG Optimus L70 landscape\n- Microsoft Lumia 550\n- Microsoft Lumia 550 landscape\n- Microsoft Lumia 950\n- Microsoft Lumia 950 landscape\n- Nexus 10\n- Nexus 10 landscape\n- Nexus 4\n- Nexus 4 landscape\n- Nexus 5\n- Nexus 5 landscape\n- Nexus 5X\n- Nexus 5X landscape\n- Nexus 6\n- Nexus 6 landscape\n- Nexus 6P\n- Nexus 6P landscape\n- Nexus 7\n- Nexus 7 landscape\n- Nokia Lumia 520\n- Nokia Lumia 520 landscape\n- Nokia N9\n- Nokia N9 landscape\n- Pixel 2\n- Pixel 2 landscape\n- Pixel 2 XL\n- Pixel 2 XL landscape\n- Pixel 3\n- Pixel 3 landscape\n- Pixel 4\n- Pixel 4 landscape\n- Pixel 4a (5G)\n- Pixel 4a (5G) landscape\n- Pixel 5\n- Pixel 5 landscape\n- Pixel 7\n- Pixel 7 landscape\n- Moto G4\n- Moto G4 landscape\n- Desktop Chrome HiDPI\n- Desktop Chrome\n\n\u003c/details\u003e\n\n### Custom Width\n\nEnter a custom width in pixels. Minimum width is 320px and Maximum width is 1080px.\n\n## Report\n\nOnce a scan of the site is completed.\n\nA report will be downloaded into the ../Documents folder.\n\nAn Address link to report is provided. Click on the link to access the location of the report.\n\nYou can also click on the view report button to see the Accessibility Scan Results.\n\n## Accessibility Scan Results\n\nFor details on which accessibility scan results trigger \"Must Fix\" / \"Good to Fix\" findings, you may refer to [Scan Issue Details](https://github.com/GovTechSG/oobee/blob/master/DETAILS.md).\n\n## System Context Diagram\n\n\u003cimg alt=\"System Context Diagram for Oobee\" src=\"https://github.com/user-attachments/assets/31c7ac61-f242-4c5f-baf3-e2ed120fe1cb\"\u003e\n\nFor Oobee's backed repository and to run Oobee as a command line, please refer to [Oobee (CLI)](https://github.com/GovTechSG/oobee).\n\n## Additional Information on Data\n\nOobee uses third-party open-source tools that may be downloaded over the Internet during the installation process of Oobee. Users should be aware of the libraries used by examining `package.json`.\n\nOobee may send information to the website or URL where the user chooses to initiate a Oobee scan. Limited user information such as e-mail address, name, and basic analytics is collected for the purpose of knowing our usage patterns better.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovtechsg%2Foobee-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgovtechsg%2Foobee-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovtechsg%2Foobee-desktop/lists"}