diff --git a/src/components/IOC/AdministerUndeployment/AdministerUndeployment.js b/src/components/IOC/AdministerUndeployment/AdministerUndeployment.js
index f49c25ca560b5f9f33e8ab47a789eac01ee42407..866f0b9c5baf58614f105f422c7ce88eff65a3c3 100644
--- a/src/components/IOC/AdministerUndeployment/AdministerUndeployment.js
+++ b/src/components/IOC/AdministerUndeployment/AdministerUndeployment.js
@@ -114,6 +114,7 @@ export default function AdministerUndeployment({ ioc, buttonDisabled }) {
         <Box sx={{ pt: 2 }}>
           <Typography
             sx={{ my: 2.5 }}
+            component="h2"
             variant="h3"
           >
             Change deployment status to not deployed (e.g. if IOC has been
diff --git a/src/components/IOC/ChangeHostAdmin/ChangeHostAdmin.js b/src/components/IOC/ChangeHostAdmin/ChangeHostAdmin.js
index 48b573899caf90194aef255e6698be1c393d69ba..6590162e3411fb03f8a522fb73718c80bd7d80d8 100644
--- a/src/components/IOC/ChangeHostAdmin/ChangeHostAdmin.js
+++ b/src/components/IOC/ChangeHostAdmin/ChangeHostAdmin.js
@@ -152,6 +152,7 @@ export default function ChangeHostAdmin({
         <Box sx={{ pt: 2 }}>
           <Typography
             sx={{ my: 2.5 }}
+            component="h2"
             variant="h3"
           >
             Change deployment host
diff --git a/src/components/IOC/IOCDelete/IOCDelete.js b/src/components/IOC/IOCDelete/IOCDelete.js
index 67863c2c32b2b781206b61965c1b1c4992676e86..b7b4c11f664c737faeb97c6fec07a113204dbb7f 100644
--- a/src/components/IOC/IOCDelete/IOCDelete.js
+++ b/src/components/IOC/IOCDelete/IOCDelete.js
@@ -1,7 +1,7 @@
 import { useState, useEffect, useCallback, useContext, useMemo } from "react";
 import { useNavigate } from "react-router-dom";
 import { useCustomSnackbar } from "../../common/snackbar";
-import { Box, Button, Typography, Grid, Tooltip } from "@mui/material";
+import { Box, Button, Grid, Tooltip, Typography } from "@mui/material";
 import { ConfirmDangerActionDialog } from "@ess-ics/ce-ui-common";
 import Alert from "@mui/material/Alert";
 import AccessControl from "../../auth/AccessControl";
@@ -80,6 +80,7 @@ export default function IOCDelete({ ioc, buttonDisabled, setButtonDisabled }) {
       <Box sx={{ pt: 2 }}>
         <Typography
           sx={{ my: 2.5 }}
+          component="h2"
           variant="h3"
         >
           Delete IOC
diff --git a/src/components/IOC/IOCDetailAdmin/IOCDetailAdmin.js b/src/components/IOC/IOCDetailAdmin/IOCDetailAdmin.js
index 06817fe3b1ca3a7125f2985930f54345b2476dd7..13ea3d6ee288028a4bd8345cba8a6cc1a0ddb09f 100644
--- a/src/components/IOC/IOCDetailAdmin/IOCDetailAdmin.js
+++ b/src/components/IOC/IOCDetailAdmin/IOCDetailAdmin.js
@@ -292,6 +292,7 @@ export default function IOCDetailAdmin({
       <Box sx={{ pt: 2 }}>
         <Typography
           sx={{ my: 2.5 }}
+          component="h2"
           variant="h3"
         >
           Modify IOC
diff --git a/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js b/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js
index 5e08cedefb1f8179119ae518e76568f7e937fb4f..628733d20f22ce372f399c95d97330ff05289eb0 100644
--- a/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js
+++ b/src/components/IOC/IOCLiveStatus/IOCLiveStatus.js
@@ -84,7 +84,14 @@ export function IOCLiveStatus({ ioc }) {
       >
         {liveIOC.activeDeployment?.host?.externalIdValid && (
           <SimpleAccordion
-            summary="IOC log stream"
+            summary={
+              <Typography
+                component="h2"
+                variant="h3"
+              >
+                IOC log stream
+              </Typography>
+            }
             expanded={deserialize(state.log_stream_open)}
             onChange={(_, expanded) =>
               setState({ log_stream_open: serialize(expanded) })
@@ -100,7 +107,14 @@ export function IOCLiveStatus({ ioc }) {
           </SimpleAccordion>
         )}
         <SimpleAccordion
-          summary="Records"
+          summary={
+            <Typography
+              component="h2"
+              variant="h3"
+            >
+              Records
+            </Typography>
+          }
           expanded={deserialize(state.records_open)}
           onChange={(_, expanded) =>
             setState({ records_open: serialize(expanded) })
diff --git a/src/components/IOC/IOCManage/IOCManage.js b/src/components/IOC/IOCManage/IOCManage.js
index 31cbf03bf4eb89bfc27307eac799ae15965742ec..817a877cddea9085bfbfff56da7286d27de34a9b 100644
--- a/src/components/IOC/IOCManage/IOCManage.js
+++ b/src/components/IOC/IOCManage/IOCManage.js
@@ -209,7 +209,12 @@ export function IOCManage({
           renderNoAccess={() => <></>}
         >
           <Stack gap={2}>
-            <Typography variant="h3">Operations</Typography>
+            <Typography
+              component="h2"
+              variant="h3"
+            >
+              Operations
+            </Typography>
             <JobTable
               jobs={operations}
               pagination={pagination}