1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>UIC Accessibility Engineering Team Roles & Responsibilities</title>
<meta name="description"
content="Explore the UIC Accessibility Engineering Team roles and responsibilities through an interactive RACI chart." />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
</head>
<body>
<div id="app">
<header class="header">
<div class="container">
<div class="logo">
<svg xmlns="http://www.w3.org/2000/svg" height="80" viewBox="0 0 250 249.97997" width="80">
<g transform="matrix(1.25 0 0 -1.25 -1089.3 622.78)">
<g>
<path
d="m1070.6 398.15c0 54.778-44.414 99.192-99.2 99.192s-99.2-44.406-99.2-99.192 44.414-99.192 99.2-99.192 99.2 44.406 99.2 99.192"
fill="#d50032" />
<path
d="m192.28 86.984c-25.22 0-40.68 17.016-40.68 41.846 0 24.74 14.63 41.88 40.2 41.88 18.43 0 29.97-8.92 35.68-21.9l-22-7.83c-2.26 6.3-6.42 10.1-13.56 10.1-10.35 0-15.59-8.33-15.59-22.25 0-14.01 5.24-22.58 15.59-22.58 7.61 0 12.01 4.64 14.04 12.48l21.04-10.11c-4.05-10.586-15.46-21.636-34.72-21.636zm-164.48 1.422v47.814c0 11.3 1.192 16.76 4.408 22.24 5.35 8.92 19.617 12.37 32.111 12.37 12.485 0 26.763-3.45 32.114-12.37 3.206-5.48 4.402-10.94 4.402-22.24v-47.814h-24.271v48.284c0 5.47-0.711 9.05-2.735 11.42-1.903 2.26-4.991 3.33-9.51 3.33-4.528 0-7.613-1.07-9.517-3.33-2.014-2.37-2.735-5.95-2.735-11.42v-48.284h-24.267zm87.765 0v80.874h24.27v-80.874h-24.27z"
transform="matrix(.8 0 0 -.8 871.47 498.22)" fill="#fff" />
</g>
</g>
</svg>
<span class="logo-text">Accessibility Engineering Team</span>
</div>
<h1>Roles & Responsibilities</h1>
<p class="subtitle">January 20 - June 20, 2026</p>
</div>
<nav class="main-nav" aria-label="Main Navigation">
<button class="nav-btn active" data-nav="raci" id="nav-raci">RACI Chart</button>
<button class="nav-btn" data-nav="sops" id="nav-sops">Standard Operating Procedures (SOPs)</button>
</nav>
</header>
<main class="container">
<section class="controls" aria-label="View Controls">
<div class="tabs" id="view-toggle" role="tablist" aria-label="View Modes">
<button class="tab-btn active" data-view="grid" role="tab" aria-selected="true" aria-controls="raci-container"
id="tab-grid">Grid View</button>
<button class="tab-btn" data-view="table" role="tab" aria-selected="false" aria-controls="raci-container"
id="tab-table">Table View</button>
</div>
<div class="filter-group">
<label for="project-filter">Project:</label>
<select id="project-filter">
<option value="all">All Projects</option>
<!-- Options populated by JS -->
</select>
</div>
<div class="filter-group">
<label for="person-filter">Person:</label>
<select id="person-filter">
<option value="all">Everyone</option>
<!-- Options populated by JS -->
</select>
</div>
<div class="filter-group">
<label for="sort-select">Sort:</label>
<select id="sort-select">
<option value="label">Area Name</option>
<option value="project">Project Name</option>
<option value="effective-desc">Date (Newer to Older)</option>
<option value="effective-asc">Date (Older to Newer)</option>
</select>
</div>
<!-- Live region for announcements -->
<div id="a11y-announcer" class="sr-only" aria-live="polite" aria-atomic="true"></div>
</section>
<h2 class="sr-only">RACI Chart Details</h2>
<section id="raci-container" class="view-grid">
<!-- RACI Content will be injected here -->
</section>
<section class="legend">
<h2>RACI Definitions</h2>
<div class="legend-grid" id="legend-grid">
<!-- Legend will be injected here -->
</div>
</section>
</main>
</div>
</div>
<dialog id="sop-modal" class="sop-modal" aria-labelledby="sop-modal-title">
<div class="modal-content">
<header class="modal-header">
<h2 id="sop-modal-title">SOP Title</h2>
<button id="close-modal" class="close-btn" aria-label="Close SOP">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="18" y1="6" x2="6" y2="18"></line>
<line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</button>
</header>
<div id="sop-modal-body" class="modal-body">
<!-- SOP Content Injected Here -->
</div>
</div>
</dialog>
<script type="module" src="/src/main.js"></script>
</body>
</html>