Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename Oobee #396

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
a47cc59
Rename to Oobee
younglim Aug 22, 2024
fbd094d
Rename purpleAi to oobeeAi
younglim Aug 22, 2024
923c984
Add formerly known as Purple A11y
younglim Aug 22, 2024
95bdb58
Rename shell and ps1 scripts to oobee
younglim Aug 22, 2024
9adbaed
Add additional canvas package as part of rename
younglim Aug 30, 2024
17366b9
Catch .sh and .command for signing
younglim Aug 30, 2024
324060e
Merge master
younglim Aug 30, 2024
c2a2574
Oobee renames
younglim Aug 30, 2024
08fec6e
Fix confusing alt text in npmIndex and why it matters desc
younglim Aug 30, 2024
e9dd50f
Merge branch 'master' into chore/rename-oobee
younglim Aug 30, 2024
ed65c8d
chore:add testcodes for rename
CKodes Sep 1, 2024
9b6c91d
chore[TESTCODES]:add global css variables
CKodes Sep 1, 2024
2a9f94d
chore[TESTCODES]: update purples
CKodes Sep 1, 2024
ead069b
chore[TESTCODES]: add font imports
CKodes Sep 1, 2024
fa952d2
chore[TESTCODES]: update font and black
CKodes Sep 1, 2024
6920b97
chore[TESTCODES]: update blues
CKodes Sep 1, 2024
55fa8c6
chore[TESTCODES]: update logo
CKodes Sep 1, 2024
25d22ea
chore[TESTCODES]: title alignment
CKodes Sep 1, 2024
8be9376
chore[TESTCODES]: replace a:after svg colour
CKodes Sep 2, 2024
a98992e
chore[TESTCODES]: upate greys
CKodes Sep 2, 2024
6f65c2b
chore[TESTCODES]: upate svg icon colours
CKodes Sep 2, 2024
513ea33
chore[TESTCODES]: update app version name, modal width, and icon
CKodes Sep 2, 2024
df51daa
chore[TESTCODES]: reset original aside width
CKodes Sep 2, 2024
337a4fe
chore[TESTCODES]: add override for colors set in bootstrap
CKodes Sep 2, 2024
c020be1
chore[TESTCODES]: update colours
CKodes Sep 2, 2024
45ba88d
fix[TESTCODES]: add margin for spanTitle.className
CKodes Sep 2, 2024
2d8cb3e
chore[TESTCODES]: update mustFixIcon colour
CKodes Sep 2, 2024
7e62f45
chore[TESTCODES]: update category-selector hover colour
CKodes Sep 2, 2024
087c1ad
chore[TESTCODES]: update category icon colours
CKodes Sep 2, 2024
3a2cd02
chore[TESTCODES]: update rule-items-count color
CKodes Sep 2, 2024
8aa60a9
chore[TESTCODES]: update black
CKodes Sep 2, 2024
f62d235
chore[TESTCODES]: update black thumbs up icon
CKodes Sep 2, 2024
1e1cd7e
chore[TESTCODES]: devnotes
CKodes Sep 2, 2024
8a7876d
chore[TESTCODES]: replace blacks for aside icons
CKodes Sep 2, 2024
752d382
chore[TESTCODES]: links hover underline
CKodes Sep 2, 2024
d5b2800
chore[TESTCODES]: toggle hover underline
CKodes Sep 2, 2024
07cdee9
chore[TESTCODES]: searchBar colour upates
CKodes Sep 2, 2024
b329ae5
chore[TESTCODES]: update colours search warning
CKodes Sep 2, 2024
bc02af7
chore[TESTCODES]: update conformance icon colours
CKodes Sep 2, 2024
858c913
chore[TESTCODES]: update needs review colors
CKodes Sep 2, 2024
4fcd12a
chore[TESTCODES]: update purples generate response button
CKodes Sep 2, 2024
a964e82
chore[TESTCODES]: update purples on aiFeedbackButton
CKodes Sep 2, 2024
0669c63
chore[TESTCODES]: update colours on ai related buttons
CKodes Sep 3, 2024
d67804a
chore[TESTCODES]: add logo spacing and update ai card bg colour
CKodes Sep 3, 2024
faf5567
chore[TESTCODES]: devnotes
CKodes Sep 3, 2024
406b6f8
chore[TESTCODES]: title svg icon
CKodes Sep 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ logs/
results/
ImageMagick-*/
errors.txt
a11y-scan-results.zip
oobee-scan-results.zip
18 changes: 9 additions & 9 deletions .github/workflows/docker-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,27 @@ jobs:

- name: Build and run Docker container
run: |
# Build your Docker image (replace 'purple-a11y' and 'Dockerfile' with your image name and Dockerfile path)
docker build -t purple-a11y .
# Build your Docker image (replace 'oobee' and 'Dockerfile' with your image name and Dockerfile path)
docker build -t oobee .
# Run the Docker container (adjust any options as needed)
docker run -dit --name purple-a11y-container purple-a11y
docker run -dit --name oobee-container oobee
# Ensure the Docker container is running before running the next step
continue-on-error: true

- name: Run Node CLI command inside the Docker container
run: |
# Execute a webisite crawl
docker exec purple-a11y-container npm run cli -- -u "${{ vars.A11Y_SCAN_URL }}" -c 2 -p "${{ vars.A11Y_SCAN_MAX_NUM_PAGES }}" -t "${{ vars.A11Y_SCAN_MAX_CONCURRENCY }}" -k "${{ github.actor }}:${{ github.actor }}@users.noreply.github.com" -b chromium || true
docker exec oobee-container npm run cli -- -u "${{ vars.OOBEE_SCAN_URL }}" -c 2 -p "${{ vars.OOBEE_SCAN_MAX_NUM_PAGES }}" -t "${{ vars.OOBEE_SCAN_MAX_CONCURRENCY }}" -k "${{ github.actor }}:${{ github.actor }}@users.noreply.github.com" -b chromium || true

- name: Print errors
run: |
docker exec purple-a11y-container cat errors.txt || true
docker exec oobee-container cat errors.txt || true

- name: Print logs
run: |
docker exec purple-a11y-container cat logs/*/*.txt || true
docker exec oobee-container cat logs/*/*.txt || true
- name: Copy Results from Docker Container
run: docker cp purple-a11y-container:/app/results ./results
run: docker cp oobee-container:/app/results ./results

- name: Zip Results
run: zip -r results.zip ./results
Expand All @@ -50,5 +50,5 @@ jobs:
- name: Cleanup Docker container
run: |
# Stop and remove the Docker container
docker stop purple-a11y-container
docker rm purple-a11y-container
docker stop oobee-container
docker rm oobee-container
40 changes: 20 additions & 20 deletions .github/workflows/image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,44 @@ on:
types: [published]

jobs:
windows-install-purple:
windows-install-oobee:
runs-on: windows-latest

steps:
- name: Check out repository code
uses: actions/checkout@v3
with:
path: purple-a11y
path: oobee

- name: Copy scripts to parent directory
run: |
cp ${{github.workspace}}/purple-a11y/scripts/*.ps1 ${{github.workspace}}
cp ${{github.workspace}}/purple-a11y/scripts/*.cmd ${{github.workspace}}
cp ${{github.workspace}}/purple-a11y/scripts/*.xml ${{github.workspace}}
cp ${{github.workspace}}/oobee/scripts/*.ps1 ${{github.workspace}}
cp ${{github.workspace}}/oobee/scripts/*.cmd ${{github.workspace}}
cp ${{github.workspace}}/oobee/scripts/*.xml ${{github.workspace}}

- name: Install Purple dependencies for Windows
shell: pwsh
run: powershell.exe -NoProfile -ExecutionPolicy Bypass "& ${{github.workspace}}\install_purple_dependencies.ps1"
run: powershell.exe -NoProfile -ExecutionPolicy Bypass "& ${{github.workspace}}\install_oobee_dependencies.ps1"
working-directory: ${{github.workspace}}

- name: Zip entire Purple folder (Windows)
shell: pwsh
run: Compress-Archive -Path ${{github.workspace}}/* -DestinationPath purple-a11y-portable-windows.zip
run: Compress-Archive -Path ${{github.workspace}}/* -DestinationPath oobee-portable-windows.zip

- name: Upload Windows artifact
uses: actions/upload-artifact@v3
with:
name: purple-a11y-portable-windows
path: ./purple-a11y-portable-windows.zip
name: oobee-portable-windows
path: ./oobee-portable-windows.zip

- name: Release Windows artifact
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
purple-a11y-portable-windows.zip
oobee-portable-windows.zip

mac-install-purple:
mac-install-oobee:
runs-on: self-hosted
environment: macos

Expand All @@ -56,27 +56,27 @@ jobs:
- name: Check out repository code
uses: actions/checkout@v3
with:
path: purple-a11y
path: oobee

- name: Grant execute permissions for user
run: chmod ugo+rwx ./scripts/*.command ./scripts/*.sh
working-directory: purple-a11y
working-directory: oobee

- name: Copy scripts to parent directory
run: |
cp ./purple-a11y/scripts/{*.command,*.sh,*.xml} ${{ github.workspace }}
cp ./oobee/scripts/{*.command,*.sh,*.xml} ${{ github.workspace }}

- name: Install Purple dependencies for MacOS
run: |
./install_purple_dependencies.command
./install_oobee_dependencies.command

- name: Sign required binaries for MacOS
run: |
# Find a valid code signing certificate in your keychain for distribution outside Mac App Store
CERTIFICATE=$(security find-identity -v -p codesigning -s - | tail -n +2 | grep -o '"Developer ID Application:[^"]*"' | sed 's/"//g')

# Paths to the binaries you want to sign only ending with .node
BINARIES=($(find . -type f -name "*.node" ! -path "*.framework/*" ! -path "*.dSYM/*"))
BINARIES=($(find . -type f \( -name "*.node" -o -name "*.sh" -o -name "*.command" \) ! -path "*.framework/*" ! -path "*.dSYM/*"))

# Loop through the binary paths and sign each one with a secure timestamp
for binary in "${BINARIES[@]}"; do
Expand All @@ -91,17 +91,17 @@ jobs:

- name: Zip entire Purple folder (Mac)
run: |
zip purple-a11y-portable-mac.zip -y -r ./
zip oobee-portable-mac.zip -y -r ./

- name: Upload Mac artifact
uses: actions/upload-artifact@v3
with:
name: purple-a11y-portable-mac
path: ./purple-a11y-portable-mac.zip
name: oobee-portable-mac
path: ./oobee-portable-mac.zip

- name: Release Mac artifact
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
purple-a11y-portable-mac.zip
oobee-portable-mac.zip
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dist
node_modules
.vscode
.a11y_storage
.oobee_storage
results/
logs/
debug*.txt
Expand All @@ -19,7 +19,7 @@ nodejs-*
amazon-corretto-*
verapdf*
ms-playwright/
a11y-scan-results*.zip
oobee-scan-results*.zip
PHScan_*/
Upload Files/
Chromium Support/
Expand All @@ -32,4 +32,5 @@ jre

# test folders
/test-codes
_test-ui
# _test-ui
a11y-scan-results.zip
12 changes: 6 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Use Node LTS alpine distribution
FROM node:lts-alpine3.18

# Installation of packages for purple-a11y and chromium
# Installation of packages for oobee and chromium
RUN apk add build-base gcompat g++ make python3 zip bash git chromium openjdk11-jre

# Installation of VeraPDF
Expand All @@ -22,13 +22,13 @@ RUN echo $'<?xml version="1.0" encoding="UTF-8" standalone="no"?> \n\
<com.izforge.izpack.panels.finish.FinishPanel id="finish"/> \n\
</AutomatedInstallation> ' >> /opt/verapdf-auto-install-docker.xml

RUN wget "https://github.com/GovTechSG/purple-a11y/releases/download/cache/verapdf-installer.zip" -P /opt
RUN wget "https://github.com/GovTechSG/oobee/releases/download/cache/verapdf-installer.zip" -P /opt
RUN unzip /opt/verapdf-installer.zip -d /opt
RUN latest_version=$(ls -d /opt/verapdf-greenfield-* | sort -V | tail -n 1) && [ -n "$latest_version" ] && \
"$latest_version/verapdf-install" "/opt/verapdf-auto-install-docker.xml"
RUN rm -rf /opt/verapdf-installer.zip /opt/verapdf-greenfield-*

# Set purple-a11y directory
# Set oobee directory
WORKDIR /app

# Copy package.json to working directory, perform npm install before copying the remaining files
Expand All @@ -47,11 +47,11 @@ RUN npm install --force --omit=dev
RUN npx playwright install chromium webkit

# Add non-privileged user
RUN addgroup -S purple && adduser -S -G purple purple
RUN chown -R purple:purple ./
RUN addgroup -S oobee && adduser -S -G oobee oobee
RUN chown -R oobee:oobee ./

# Run everything after as non-privileged user.
USER purple
USER oobee

# Copy application and support files
COPY . .
Expand Down
80 changes: 40 additions & 40 deletions INSTALLATION.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,60 @@
## Installation Guide

Purple A11y is provided as a portable distribution which minimises installation steps required for Windows and Mac.
Oobee (formerly known as Purple A11y) is provided as a portable distribution which minimises installation steps required for Windows and Mac.

### About Purple A11y
Purple A11y is a customisable, automated accessibility testing tool that allows software development teams to find and fix accessibility problems to improve persons with disabilities (PWDs) access to digital services.
### About Oobee
Oobee is a customisable, automated accessibility testing tool that allows software development teams to find and fix accessibility problems to improve persons with disabilities (PWDs) access to digital services.

### System Requirements
* Purple A11y can run on MacOS Big Sur or above, and a [supported](https://learn.microsoft.com/en-us/windows/release-health/supported-versions-windows-client) version of Windows 10 (64-bit) or Windows 11.
* Oobee can run on MacOS Big Sur or above, and a [supported](https://learn.microsoft.com/en-us/windows/release-health/supported-versions-windows-client) version of Windows 10 (64-bit) or Windows 11.
* Google Chrome browser is [installed](https://www.google.com/chrome).
* One-time Internet access is needed to download and install Purple A11y Desktop.
* You are recommended to be logged on to an admin user to run Purple A11y Desktop.
* One-time Internet access is needed to download and install Oobee Desktop.
* You are recommended to be logged on to an admin user to run Oobee Desktop.

### Windows
<details>
<summary>Click here for Windows setup instructions</summary>

#### Download Portable Copy
* Download and extract latest [purple-a11y-portable-windows.zip](https://github.com/GovTechSG/purple-a11y/releases/latest/download/purple-a11y-portable-windows.zip).
* Download and extract latest [oobee-portable-windows.zip](https://github.com/GovTechSG/oobee/releases/latest/download/oobee-portable-windows.zip).
* Tip: To extract files, right-click the Compressed zip file and click "Extract All…" in the context menu.

#### Run Purple A11y
* Navigate to the folder containing purple-a11y-portable-windows.
* Double-click `a11y_shell.cmd` (Windows Command Script file).
<img width="480" alt="Screenshot of Windows Explorer with a11y_shell.cmd selected" src="https://github.com/GovTechSG/purple-a11y/assets/50561219/872c9fce-0d7f-405d-b6b6-c8a196c3e81a">
#### Run Oobee
* Navigate to the folder containing oobee-portable-windows.
* Double-click `oobee_shell.cmd` (Windows Command Script file).
<img width="480" alt="Screenshot of Windows Explorer with oobee_shell.cmd selected" src="https://github.com/GovTechSG/oobee/assets/50561219/872c9fce-0d7f-405d-b6b6-c8a196c3e81a">

* A Windows Command Prompt window should open with contents as illustrated below. `a11y_shell` will automatically prepare your system to run Purple a11y.
* A Windows Command Prompt window should open with contents as illustrated below. `oobee_shell` will automatically prepare your system to run Purple oobee.
```
a11y Shell - Created By younglim - NO WARRANTY PROVIDED
oobee Shell - Created By younglim - NO WARRANTY PROVIDED
================================================================

INFO: Stored current working directory at C:\Users\a11y\Downloads\purple-a11y-portable-windows
INFO: Stored current working directory at C:\Users\oobee\Downloads\oobee-portable-windows
INFO: Set path to node for this session
INFO: Set path to node_modules for this session
INFO: Set path to npm-global for this session
INFO: Set path to Playwright cache for this session
INFO: Set path to ImageMagick for this session
INFO: Set path to purple-a11y for this session
INFO: Set path to oobee for this session


PS C:\Users\username\Downloads\purple-a11y-portable-windows>
PS C:\Users\username\Downloads\oobee-portable-windows>
```


* Type in the following commands into the window. The following commands will navigate your Command Prompt window to the `purple-a11y` sub-directory and initiate a scan
* Type in the following commands into the window. The following commands will navigate your Command Prompt window to the `oobee` sub-directory and initiate a scan
```
cd purple-a11y
cd oobee
node index
```
* If a Windows Firewall prompt appears, if you have administrator rights, click "Allow" or "Allow access". Click "Cancel" if you do not have administrator rights.
<img width="261" alt="Newer Windows Firewall prompt for Allow" src="https://github.com/GovTechSG/purple-a11y/assets/50561219/4ece401b-1195-4a90-a327-243c081690b9">
<img width="331" alt="Windows Firewall prompt for Allow access" src="https://github.com/GovTechSG/purple-a11y/assets/2021525/d6d435c4-f534-4416-b418-a8b8e15f3b3f">
<img width="261" alt="Newer Windows Firewall prompt for Allow" src="https://github.com/GovTechSG/oobee/assets/50561219/4ece401b-1195-4a90-a327-243c081690b9">
<img width="331" alt="Windows Firewall prompt for Allow access" src="https://github.com/GovTechSG/oobee/assets/2021525/d6d435c4-f534-4416-b418-a8b8e15f3b3f">

* You should then see your Windows Command Prompt window updated with the following contents
```
PS C:\Users\username\Downloads\purple-a11y-portable-windows> cd purple-a11y
PS C:\Users\username\Downloads\purple-a11y-portable-windows\purple-a11y> node index
PS C:\Users\username\Downloads\oobee-portable-windows> cd oobee
PS C:\Users\username\Downloads\oobee-portable-windows\oobee> node index
┌────────────────────────────────────────────────────────────┐
│ Welcome to A11y Accessibility Testing Tool! │
│ We recommend using Chrome browser for the best experience. │
Expand All @@ -67,7 +67,7 @@ PS C:\Users\username\Downloads\purple-a11y-portable-windows\purple-a11y> node in
custom flow
```

* Follow the steps at [Features](https://github.com/GovTechSG/purple-a11y#features) for more information on how to run a scan.
* Follow the steps at [Features](https://github.com/GovTechSG/oobee#features) for more information on how to run a scan.

</details>

Expand All @@ -76,23 +76,23 @@ PS C:\Users\username\Downloads\purple-a11y-portable-windows\purple-a11y> node in
<summary>Click here for MacOS setup instructions</summary>

#### Download Portable Copy
* Download and extract [purple-a11y-portable-mac.zip](https://github.com/GovTechSG/purple-a11y/releases/latest/download/purple-a11y-portable-mac.zip) version.
* Tip: To extract files in Mac, double-click on `purple-a11y-portable-mac.zip` file, usually located at your Downloads folder. A new folder with the name `purple-a11y-portable-mac` will appear in Finder.
* Download and extract [oobee-portable-mac.zip](https://github.com/GovTechSG/oobee/releases/latest/download/oobee-portable-mac.zip) version.
* Tip: To extract files in Mac, double-click on `oobee-portable-mac.zip` file, usually located at your Downloads folder. A new folder with the name `oobee-portable-mac` will appear in Finder.

#### Run Purple A11y
* Navigate to the folder `purple-a11y-portable-mac`, usually located at your Downloads folder.
* Right-click `a11y_shell.command`. Then click `Open` in the context menu.
<img width="480" alt="Screenshot of right-click a11y_shell.command and Open" src="https://github.com/GovTechSG/purple-a11y/assets/152410523/15a0f577-c8c4-43e2-9c9d-ca4b960b8874">
#### Run Oobee
* Navigate to the folder `oobee-portable-mac`, usually located at your Downloads folder.
* Right-click `oobee_shell.command`. Then click `Open` in the context menu.
<img width="480" alt="Screenshot of right-click oobee_shell.command and Open" src="https://github.com/GovTechSG/oobee/assets/152410523/15a0f577-c8c4-43e2-9c9d-ca4b960b8874">

* A prompt as follows will appear like below. Click `Open`.
<img width="240" alt="MacOS prompt for unidentified developer" src="https://github.com/GovTechSG/purple-a11y/assets/152410523/85eb0d58-8dd9-477c-916a-b759cfb1afd6">
<img width="240" alt="MacOS prompt for unidentified developer" src="https://github.com/GovTechSG/oobee/assets/152410523/85eb0d58-8dd9-477c-916a-b759cfb1afd6">

* A Terminal window should open with contents as illustrated below. `a11y_shell` will automatically prepare your system to run Purple A11y.
* A Terminal window should open with contents as illustrated below. `oobee_shell` will automatically prepare your system to run Oobee.
```
Last login: Thu Mar 16 10:48:05 on ttys002
/Users/username/Downloads/purple-a11y-portable-mac/a11y_shell.command ; exit;
username@hostname ~ % /Users/username/Downloads/purple-a11y-portable-mac/a11y_shell.command ; exit;
a11y Shell - Created By younglim - NO WARRANTY PROVIDED
/Users/username/Downloads/oobee-portable-mac/oobee_shell.command ; exit;
username@hostname ~ % /Users/username/Downloads/oobee-portable-mac/oobee_shell.command ; exit;
oobee Shell - Created By younglim - NO WARRANTY PROVIDED
================================================================

INFO: Setting path to node for this session
Expand All @@ -101,19 +101,19 @@ INFO: Set path to Playwright cache for this session
INFO: Set symbolic link to ImageMagick
INFO: Set path to ImageMagick binaries
INFO: Removing com.apple.quarantine attributes for required binaries to run
username@hostname purple-a11y-portable-mac %
username@hostname oobee-portable-mac %
```

* Type in the following commands into the window. The following commands will navigate your Terminal window to the `purple-a11y` sub-directory and initiate a scan
* Type in the following commands into the window. The following commands will navigate your Terminal window to the `oobee` sub-directory and initiate a scan
```
cd purple-a11y
cd oobee
node index
```

* You should then see your Terminal window updated with the following contents
```
username@hostname purple-a11y-portable-mac % cd purple-a11y
username@hostname purple-a11y % node index
username@hostname oobee-portable-mac % cd oobee
username@hostname oobee % node index
┌────────────────────────────────────────────────────────────┐
│ Welcome to A11y Accessibility Testing Tool! │
│ We recommend using Chrome browser for the best experience. │
Expand All @@ -126,5 +126,5 @@ username@hostname purple-a11y % node index
custom flow
```

* Follow the steps at [Features](https://github.com/GovTechSG/purple-a11y#features) for more information on how to run a scan.
* Follow the steps at [Features](https://github.com/GovTechSG/oobee#features) for more information on how to run a scan.
</details>
Loading
Loading