CINXE.COM

Captioning and Accessibility

<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name='robots' content='max-image-preview:large' /> <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0, minimum-scale=0.1, maximum-scale=10.0"> <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=Hind:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <title>Captioning and Accessibility</title> <link rel='dns-prefetch' href='//sites.mit.edu' /> <link rel="alternate" type="application/rss+xml" title="Captioning and Accessibility &raquo; Feed" href="https://accessibility.mit.edu/feed/" /> <link rel="alternate" type="application/rss+xml" title="Captioning and Accessibility &raquo; Comments Feed" href="https://accessibility.mit.edu/comments/feed/" /> <style id='wp-block-image-inline-css'> .wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} </style> <style id='wp-block-heading-inline-css'> h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} </style> <style id='wp-block-search-inline-css'> .wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{height:1.25em;min-height:24px;min-width:24px;width:1.25em;fill:currentColor;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right} </style> <style id='wp-block-navigation-link-inline-css'> .wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.link-ui-tools{border-top:1px solid #f0f0f0;padding:8px}.link-ui-block-inserter{padding-top:8px}.link-ui-block-inserter__back{margin-left:8px;text-transform:uppercase}.components-popover-pointer-events-trap{background-color:initial;cursor:pointer;inset:0;position:fixed;z-index:1000000} </style> <link rel='stylesheet' id='wp-block-navigation-css' href='https://sites.mit.edu/accessibility/wp-includes/blocks/navigation/style.min.css?ver=6.5.5' media='all' /> <style id='wp-block-group-inline-css'> .wp-block-group{box-sizing:border-box} </style> <style id='wp-block-paragraph-inline-css'> .is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} </style> <style id='wp-block-list-inline-css'> ol,ul{box-sizing:border-box}ol.has-background,ul.has-background{padding:1.25em 2.375em} </style> <style id='wp-block-library-inline-css'> :root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:#9747ff}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} </style> <style id='global-styles-inline-css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--base: #ffffff;--wp--preset--color--contrast: #000000;--wp--preset--color--primary: #750014;--wp--preset--color--secondary: #8b959e;--wp--preset--color--tertiary: #003167;--wp--preset--color--transparent: transparent;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: clamp(1.0rem, 1rem + ((1vw - 0.2rem) * 0.25), 1.125rem);--wp--preset--font-size--medium: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.25), 1.25rem);--wp--preset--font-size--large: clamp(1.25rem, 1.25rem + ((1vw - 0.2rem) * 0.5), 1.5rem);--wp--preset--font-size--x-large: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.5), 2rem);--wp--preset--font-size--xx-large: clamp(2.25rem, 2.25rem + ((1vw - 0.2rem) * 1), 2.75rem);--wp--preset--font-family--system-ui: system-ui, sans-serif;--wp--preset--font-family--system-transitional: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;--wp--preset--font-family--system-old-style: 'Iowan Old Style', 'Palatino Linotype', 'URW Palladio L', P052, serif;--wp--preset--font-family--system-humanist: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;--wp--preset--font-family--system-geometric-humanist: Avenir, Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif;--wp--preset--font-family--system-classical-humanist: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;--wp--preset--font-family--system-neo-grotesque: Inter, Roboto, 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif;--wp--preset--font-family--system-monospace-slab-serif: 'Nimbus Mono PS', 'Courier New', monospace;--wp--preset--font-family--system-monospace-code: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;--wp--preset--font-family--system-industrial: Bahnschrift, 'DIN Alternate', 'Franklin Gothic Medium', 'Nimbus Sans Narrow', sans-serif-condensed, sans-serif;--wp--preset--font-family--system-rounded-sans: ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT', 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif;--wp--preset--font-family--system-slab-serif: Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif;--wp--preset--font-family--system-antique: Superclarendon, 'Bookman Old Style', 'URW Bookman', 'URW Bookman L', 'Georgia Pro', Georgia, serif;--wp--preset--font-family--system-didone: Didot, 'Bodoni MT', 'Noto Serif Display', 'URW Palladio L', P052, Sylfaen, serif;--wp--preset--font-family--system-handwritten: 'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive;--wp--preset--spacing--20: 8px;--wp--preset--spacing--30: clamp(8px, 0.615px + 1.538vw, 16px);--wp--preset--spacing--40: clamp(12px, 0.923px + 2.308vw, 24px);--wp--preset--spacing--50: clamp(16px, 1.231px + 3.077vw, 32px);--wp--preset--spacing--60: clamp(32px, 17.231px + 3.077vw, 48px);--wp--preset--spacing--70: clamp(40px, 17.846px + 4.615vw, 64px);--wp--preset--spacing--80: clamp(64px, 34.462px + 6.154vw, 96px);--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}body { margin: 0;--wp--style--global--content-size: 1120px;--wp--style--global--wide-size: 1120px; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding :where(.has-global-padding:not(.wp-block-block)) { padding-right: 0; padding-left: 0; }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(.has-global-padding:not(.wp-block-block)) > .alignfull { margin-right: 0; margin-left: 0; }.has-global-padding > .alignfull:where(:not(.has-global-padding):not(.is-layout-flex):not(.is-layout-grid)) > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding :where(.has-global-padding) > .alignfull:where(:not(.has-global-padding)) > :where([class*="wp-block-"]:not(.alignfull):not([class*="__"]),p,h1,h2,h3,h4,h5,h6,ul,ol) { padding-right: 0; padding-left: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 1rem; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child:first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child:last-child { margin-block-end: 0; }body { --wp--style--block-gap: 1rem; }:where(body .is-layout-flow) > :first-child:first-child{margin-block-start: 0;}:where(body .is-layout-flow) > :last-child:last-child{margin-block-end: 0;}:where(body .is-layout-flow) > *{margin-block-start: 1rem;margin-block-end: 0;}:where(body .is-layout-constrained) > :first-child:first-child{margin-block-start: 0;}:where(body .is-layout-constrained) > :last-child:last-child{margin-block-end: 0;}:where(body .is-layout-constrained) > *{margin-block-start: 1rem;margin-block-end: 0;}:where(body .is-layout-flex) {gap: 1rem;}:where(body .is-layout-grid) {gap: 1rem;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}body{background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-neo-grotesque);font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem);font-style: normal;font-weight: 400;line-height: 1.4;--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: var(--wp--preset--spacing--40);--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: var(--wp--preset--spacing--40);}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--primary);font-style: normal;font-weight: 600;text-decoration: underline;}a:where(:not(.wp-element-button)):hover{color: var(--wp--preset--color--tertiary);}h1, h2, h3, h4, h5, h6{color: var(--wp--preset--color--contrast);}h1{font-size: clamp(1.502rem, 1.502rem + ((1vw - 0.2rem) * 1.996), 2.5rem);font-style: normal;font-weight: 300;line-height: 1.2;text-transform: none;}h2{font-size: clamp(0.918rem, 0.918rem + ((1vw - 0.2rem) * 0.924), 1.38rem);font-style: normal;font-weight: 700;line-height: 1.2;text-transform: none;}h3{font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.51), 1.13rem);font-style: normal;font-weight: 700;line-height: 1.2;text-transform: none;}h4{font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem);font-style: normal;font-weight: 600;text-transform: none;}h5{font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem);font-style: italic;font-weight: 600;text-transform: none;}h6{font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem);font-style: italic;font-weight: 400;text-transform: none;}.wp-element-button, .wp-block-button__link{background-color: var(--wp--preset--color--primary);border-width: 0;color: var(--wp--preset--color--base);font-family: inherit;font-size: inherit;line-height: inherit;padding: calc(0.667em + 2px) calc(1.333em + 2px);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-contrast-color{color: var(--wp--preset--color--contrast) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-secondary-color{color: var(--wp--preset--color--secondary) !important;}.has-tertiary-color{color: var(--wp--preset--color--tertiary) !important;}.has-transparent-color{color: var(--wp--preset--color--transparent) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-contrast-background-color{background-color: var(--wp--preset--color--contrast) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}.has-tertiary-background-color{background-color: var(--wp--preset--color--tertiary) !important;}.has-transparent-background-color{background-color: var(--wp--preset--color--transparent) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-contrast-border-color{border-color: var(--wp--preset--color--contrast) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}.has-tertiary-border-color{border-color: var(--wp--preset--color--tertiary) !important;}.has-transparent-border-color{border-color: var(--wp--preset--color--transparent) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}.has-system-ui-font-family{font-family: var(--wp--preset--font-family--system-ui) !important;}.has-system-transitional-font-family{font-family: var(--wp--preset--font-family--system-transitional) !important;}.has-system-old-style-font-family{font-family: var(--wp--preset--font-family--system-old-style) !important;}.has-system-humanist-font-family{font-family: var(--wp--preset--font-family--system-humanist) !important;}.has-system-geometric-humanist-font-family{font-family: var(--wp--preset--font-family--system-geometric-humanist) !important;}.has-system-classical-humanist-font-family{font-family: var(--wp--preset--font-family--system-classical-humanist) !important;}.has-system-neo-grotesque-font-family{font-family: var(--wp--preset--font-family--system-neo-grotesque) !important;}.has-system-monospace-slab-serif-font-family{font-family: var(--wp--preset--font-family--system-monospace-slab-serif) !important;}.has-system-monospace-code-font-family{font-family: var(--wp--preset--font-family--system-monospace-code) !important;}.has-system-industrial-font-family{font-family: var(--wp--preset--font-family--system-industrial) !important;}.has-system-rounded-sans-font-family{font-family: var(--wp--preset--font-family--system-rounded-sans) !important;}.has-system-slab-serif-font-family{font-family: var(--wp--preset--font-family--system-slab-serif) !important;}.has-system-antique-font-family{font-family: var(--wp--preset--font-family--system-antique) !important;}.has-system-didone-font-family{font-family: var(--wp--preset--font-family--system-didone) !important;}.has-system-handwritten-font-family{font-family: var(--wp--preset--font-family--system-handwritten) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} /* font overrides until WP 6.5 */ body { font-family: Hind, sans-serif; } /****************************************************/ /***** Captioning & Accessibility Global Styles *****/ /***** Version 1.0 June 2024 *****/ /****************************************************/ /* global border-box */ *, *::before, *::after { box-sizing: border-box; } /* smooth scrolling */ html:has(body:not(.wp-admin)) { scroll-behavior: smooth; } /* visually hidden (but not on admin pages) */ body:not(.block-editor-iframe__body):not(.editor-styles-wrapper) .visually-hidden { position: absolute; z-index: 99999; clip: rect(1px,1px,1px,1px); overflow: hidden; height: 1px; width: 1px; word-wrap: normal; } /******************/ /***** Header *****/ /******************/ /*** Header layout ***/ /* common */ .ca-header-inner { display: grid; } .ca-header-mitlogo { grid-area: mitlogo; } .ca-header-sitetitle { grid-area: sitetitle; } .ca-header-search { grid-area: search; } .ca-header-nav { grid-area: nav; } /* desktop */ @media (width >= 768px) { .ca-header-inner { padding-top: 20px; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; grid-template-areas: "mitlogo sitetitle search" "nav nav nav"; gap: 15px 20px; } .ca-header-mitlogo { justify-self: start; align-self: center; } .ca-header-sitetitle { justify-self: start; align-self: center; margin-left: 10%; } .ca-header-search { justify-self: end; align-self: center; } .ca-header-nav { justify-self: end; align-self: center; } } /* mobile */ @media (width < 768px) { .ca-header-inner { padding-block: 20px; grid-template-columns: auto 1fr auto; grid-template-rows: auto; grid-template-areas: "mitlogo sitetitle nav"; gap: 15px; } .ca-header-mitlogo { justify-self: start; align-self: center; } .ca-header-sitetitle { justify-self: center; align-self: center; text-align: center; } .ca-header-nav { justify-self: end; align-self: center; } } /*** MIT logo ***/ @media (width >= 768px) { .ca-header-mitlogo { width: 68px; } } @media (width < 768px) { .ca-header-mitlogo { width: 51px; } } .ca-header-mitlogo a { display: block; } /*** Site title ***/ .ca-header-sitetitle a { color: var(--wp--preset--color--contrast); text-decoration: none; } .ca-header-sitetitle a:is(:hover, :focus-visible) { color: var(--wp--preset--color--primary); } /*** Desktop search tool ***/ @media (width >= 768px) { .ca-header-search { width: 100%; max-width: 246px; margin-right: -6px; /* try to align magnifier with right edge of nav */ } /* container for controls */ .ca-header-search .wp-block-search__inside-wrapper { display: grid; grid-template-columns: 1fr max-content; gap: 2px; align-items: center; border: none; padding: 0; } .ca-header-search .wp-block-search__input { border: 3px solid var(--wp--preset--color--contrast); padding: 2px 6px 1px 6px; font-family: Hind, sans-serif; line-height: 1; } .ca-header-search .wp-block-search__button { padding: 0; margin: 0; color: var(--wp--preset--color--contrast); background-color: transparent; } .ca-header-search .wp-block-search__button svg { width: 2.5rem; height: 2.5rem; } } @media (width < 768px) { .ca-header-search { display: none; } } /*** Desktop navigation ***/ /* note that the class .ca-header-nav is placed both on the nav element and on the top level ul */ /* remove home link on home page */ body.home .ca-header-nav-home { display: none; } /* change menu breakpoint - see https://stackoverflow.com/questions/74956603 */ @media (width >= 768px) { .ca-header-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none !important; } .ca-header-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: block !important; width: 100%; position: relative; z-index: auto; background-color: inherit; } } /* neutralize the wp default 600px breakpoint */ @media (width >= 600px) { .ca-header-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; } .ca-header-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; } } /* styles for desktop menu */ @media (width >= 768px) { /* black border */ nav.ca-header-nav { border: 3px solid var(--wp--preset--color--contrast); background-color: var(--wp--preset--color--base); } /* hide search tool */ .ca-header-nav-search { display: none; } /* top level ul */ .ca-header-nav .wp-block-navigation__container { display: flex; flex-flow: row wrap; gap: 0; } /* top level li */ .ca-header-nav .wp-block-navigation__container > .wp-block-navigation-item { flex: 1; display: flex; } /* top level a */ .ca-header-nav .wp-block-navigation__container > .wp-block-navigation-item > a { min-width: max-content; text-align: center; flex: 1 0 100%; color: var(--wp--preset--color--primary); padding: 0.625rem; } /* top level a hover, focus */ .ca-header-nav .wp-block-navigation__container > .wp-block-navigation-item > a:is(:hover, :focus-visible) { color: var(--wp--preset--color--base); background-color: var(--wp--preset--color--contrast); } /* top level current item or section */ .ca-header-nav .wp-block-navigation__container > .current-menu-item > a, .ca-header-nav .wp-block-navigation__container > .wp-block-navigation-item > a.current-menu-ancestor { color: var(--wp--preset--color--base); background-color: var(--wp--preset--color--contrast); } /* second level ul - not shown */ .ca-header-nav .has-child .wp-block-navigation__submenu-container { display: none !important; } } /*** Mobile navigation ***/ @media (width < 768px) { /* menu button */ .ca-header-nav .wp-block-navigation__responsive-container-open { border: 3px solid var(--wp--preset--color--contrast); border-radius: 6px; padding: 3px; } .ca-header-nav .wp-block-navigation__responsive-container-open svg { width: 2rem; height: 2rem; } /* change color on hover */ .ca-header-nav .wp-block-navigation__responsive-container a:is(:hover, :focus-visible) { color: var(--wp--preset--color--tertiary); } /* remove space above submenus */ .ca-header-nav .wp-block-navigation__responsive-container li ul { padding-top: 0 !important; } /* adjust submenu item spacing */ .ca-header-nav .wp-block-navigation__responsive-container li ul li { margin-top: 0.3125rem !important; line-height: 1.1; } /* mobile search */ .ca-header-nav-search { margin-top: 2rem; align-self: center; } /* container for controls */ .wp-block-search__inside-wrapper .wp-block-search__inside-wrapper { display: grid; grid-template-columns: 1fr max-content; gap: 10px; align-items: center; border: none; padding: 0; } .wp-block-search__inside-wrapper .wp-block-search__input { border: 3px solid var(--wp--preset--color--contrast); padding: 2px 6px 1px 6px; font-family: Hind, sans-serif; line-height: 1; } .wp-block-search__inside-wrapper .wp-block-search__button { padding: 0; margin: 0; color: var(--wp--preset--color--contrast); background-color: transparent; } .wp-block-search__inside-wrapper .wp-block-search__button svg { width: 2.5rem; height: 2.5rem; } } /****************/ /***** Body *****/ /****************/ /*** Header/body overlap ***/ @media (width >= 768px) { .ca-header { z-index: 9; } .ca-body { z-index: 1; margin-top: -1.5rem !important; } } /*** Breadcrumbs (created dynamically) ***/ .ca-breadcrumbs { padding: 2.25rem 0 1.125rem 0; min-height: 4.375rem; } .ca-breadcrumbs ul { margin: 0; padding: 0; list-style: none; display: flex; font-size: 0.875rem; line-height: 1rem; } .ca-breadcrumbs li { flex: 0 1 max-content; font-weight: 500; } .ca-breadcrumbs li:nth-last-child(n+2)::after { content: "\00a0/\00a0"; } @media (width < 768px) { .ca-breadcrumbs { padding: 1.125rem 0 1.125rem 0; min-height: 3.25rem; } .ca-breadcrumbs ul { flex-flow: row wrap; line-height: 1.4; } } /*** Body columns ***/ @media (width >= 768px) { .ca-body-columns { display: grid; grid-template-columns: 1fr 3fr; grid-template-rows: auto auto; grid-template-areas: ". title" "navigation content"; } .ca-nav2-column { padding-right: 1rem; grid-area: navigation; } .ca-content-column { display: contents; } .ca-page-title { grid-area: title; padding-inline: 0.5rem; padding-block: 0.5rem 1.5rem; } .ca-page-content { grid-area: content; padding-inline: 0.5rem; margin-block-start: 0; } } @media (width < 768px) { .ca-nav2-column { display: none; } } /*** Secondary navigation ***/ /* common */ .ca-nav2 :is(ul, li) { display: block; margin: 0; padding: 0; list-style: none; } .ca-nav2 a { display: block; color: var(--wp--preset--color--primary); text-decoration: none; } .ca-nav2 a:is(:hover, :focus-visible) { color: var(--wp--preset--color--contrast); } .ca-nav2 a:is(:hover, :focus-visible), .ca-nav2 a:is(.current-menu-item, .current-menu-ancestor) { color: var(--wp--preset--color--contrast); } /* top level */ .ca-nav2 > ul > li { font-size: var(--wp--preset--font-size--small); font-weight: 600; line-height: 1.25; border-bottom: 1px solid var(--wp--preset--color--contrast); } .ca-nav2 > ul > li > a { position: relative; padding: 0.625rem 10px 0.625rem 1.5rem; } .ca-nav2 > ul > li > a::before { content: ''; display: inline-block; margin-left: -1.125rem; width: 0.625rem; height: 0.625rem; background-color: var(--wp--preset--color--contrast); border-radius: 50%; margin-right: 0.5rem; } /* lower level (only styled for one more level) */ .ca-nav2 > ul ul { padding-bottom: 0.5rem; } .ca-nav2 > ul ul li { font-size: 0.875rem; } .ca-nav2 > ul ul li a { padding: 0.25rem 10px 0.25rem 25px; } /* hide sub-submenus until needed */ .ca-nav2 > ul li:not(:is(.current-menu-item, .current-menu-ancestor)) ul { display: none; } /*** Content styles ***/ /* heading-paragraph space */ .ca-page-content :where(h2, h3) + :is(p, ul, ol, h2, h3, h4, h5, h6) { margin-block-start: 0.5rem; } .ca-page-content :where(h4, h5, h6) + :is(p, ul, ol, h2, h3, h4, h5, h6) { margin-block-start: 0; } /* margin above h2, h3 */ .ca-page-content :where(h2:not(:first-child)), .ca-page-content :where(h3:not(:first-child)) { margin-block-start: 1.25rem; } /* list item space */ .ca-page-content li:not(:first-child) { margin-block-start: 0.875rem; } /** Tables **/ .ca-captioning-service-table table { border-collapse: collapse; margin: 0; padding: 0; width: 100%; table-layout: fixed; } .ca-captioning-service-table thead { border: none; } .ca-captioning-service-table tr { padding: 0.35em; vertical-align: top; } .ca-captioning-service-table tbody tr { border-bottom: 1px solid var(--wp--preset--color--contrast); } .ca-captioning-service-table :is(th, td) { padding: 0.625em; border: none; text-align: center; } .ca-captioning-service-table th { background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); } .ca-captioning-service-table th + th { border-left: 1px solid var(--wp--preset--color--base); } .ca-captioning-service-table .td-left { text-align: left !important; } /* horizontal rule */ .ca-page-content hr { background-color: #e8e8e8; border-top: 1px solid #e8e8e8; } /** PDF and external links **/ .ca-page-content a.pdf .icon { display: inline-block; margin-left: 0.375rem; margin-right: 0.125rem; width: 0.75rem; height: 0.9375rem; background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgNDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNMjUuNjY4NiAyNi4wOTYyQzI1LjE4MTIgMjYuMjQwMSAyNC40NjU2IDI2LjI1NjMgMjMuNjk4NCAyNi4xNDVDMjIuODc1IDI2LjAyNTYgMjIuMDM1MSAyNS43NzM5IDIxLjIwOTYgMjUuNDAzQzIyLjY4MTcgMjUuMTg4OCAyMy44MjM3IDI1LjI1NDggMjQuODAwNSAyNS42MDA5QzI1LjAzMTkgMjUuNjgyOSAyNS40MTIgMjUuOTAyMSAyNS42Njg2IDI2LjA5NjJaTTE3LjQ1NTIgMjQuNzQ1OUMxNy4zOTUzIDI0Ljc2MjIgMTcuMzM2MyAyNC43Nzc2IDE3LjI3NzYgMjQuNzkzOUMxNi44ODE1IDI0LjkwMTcgMTYuNDk2MSAyNS4wMDY5IDE2LjEyNDcgMjUuMTAwNUwxNS42MjM5IDI1LjIyNzVDMTQuNjE2NSAyNS40ODI0IDEzLjU4NjUgMjUuNzQyOCAxMi41NjkyIDI2LjA1MjlDMTIuOTU1OCAyNS4xMjA2IDEzLjMxNSAyNC4xNzggMTMuNjY2NyAyMy4yNTY0QzEzLjkyNzEgMjIuNTc0MiAxNC4xOTMgMjEuODc3MyAxNC40NjggMjEuMTg5NEMxNC42MDc1IDIxLjQxOTggMTQuNzUzMSAyMS42NTAzIDE0LjkwNDYgMjEuODgxNEMxNS41OTQ4IDIyLjkzMjYgMTYuNDYyNCAyMy45MDQ1IDE3LjQ1NTIgMjQuNzQ1OVpNMTQuODkyNyAxNC4yMzI2QzE0Ljk1OCAxNS4zODMgMTQuNzA5OCAxNi40ODk3IDE0LjM0NTcgMTcuNTUxNEMxMy44OTcyIDE2LjIzODYgMTMuNjg4MiAxNC43ODg5IDE0LjI0ODkgMTMuNjE4NUMxNC4zOTI3IDEzLjMxODUgMTQuNTEwNSAxMy4xNTgxIDE0LjU4NjkgMTMuMDc0NEMxNC43MDQ5IDEzLjI1NjYgMTQuODYwMSAxMy42NjQyIDE0Ljg5MjcgMTQuMjMyNlpNOS42MzM0NyAyOC44MDU0QzkuMzgxNDggMjkuMjU2MiA5LjEyNDI2IDI5LjY3ODIgOC44NjA2MyAzMC4wNzY3QzguMjI0NDIgMzEuMDM1NSA3LjE4MzkzIDMyLjA2MjEgNi42NDk0MSAzMi4wNjIxQzYuNTk2ODEgMzIuMDYyMSA2LjUzMzE2IDMyLjA1MzYgNi40NDAxNSAzMS45NTU0QzYuMzgwMjggMzEuODkyNiA2LjM3MDY5IDMxLjg0NzYgNi4zNzM1OSAzMS43ODYyQzYuMzkxNjEgMzEuNDMzNyA2Ljg1ODY3IDMwLjgwNTkgNy41MzUyNyAzMC4yMjM4QzguMTQ5MzkgMjkuNjk1NyA4Ljg0MzUyIDI5LjIyNjIgOS42MzM0NyAyOC44MDU0Wk0yNy4zNzA2IDI2LjE0NjFDMjcuMjg4OSAyNC45NzE5IDI1LjMxMjMgMjQuMjE4NiAyNS4yOTI4IDI0LjIxMTZDMjQuNTI4NyAyMy45NDA3IDIzLjY5ODYgMjMuODA5MSAyMi43NTUyIDIzLjgwOTFDMjEuNzQ1MyAyMy44MDkxIDIwLjY1NjUgMjMuOTU1MiAxOS4yNTgyIDI0LjI4MTlDMTguMDE0IDIzLjM5OTkgMTYuOTM5MiAyMi4yOTU3IDE2LjEzNjIgMjEuMDczM0MxNS43ODE2IDIwLjUzMzIgMTUuNDYyOCAxOS45OTQxIDE1LjE4NDkgMTkuNDY3NUMxNS44NjMzIDE3Ljg0NTQgMTYuNDc0MiAxNi4xMDEzIDE2LjM2MzIgMTQuMTQ3OUMxNi4yNzM3IDEyLjU4MTYgMTUuNTY3NCAxMS41Mjk1IDE0LjYwNjkgMTEuNTI5NUMxMy45NDggMTEuNTI5NSAxMy4zODA3IDEyLjAxNzUgMTIuOTE5NCAxMi45ODEzQzEyLjA5NjUgMTQuNjk4NyAxMi4zMTI4IDE2Ljg5NjIgMTMuNTYyIDE5LjUxODRDMTMuMTEyMSAyMC41NzUxIDEyLjY5NDEgMjEuNjcwNiAxMi4yODk1IDIyLjczMTFDMTEuNzg2MSAyNC4wNDk4IDExLjI2NzQgMjUuNDEwMyAxMC42ODI4IDI2LjcwNDVDOS4wNDMzNCAyNy4zNTMyIDcuNjk2NDggMjguMTM5OSA2LjU3NDAyIDI5LjEwNTdDNS44Mzg3IDI5LjczNzMgNC45NTIyMyAzMC43MDI4IDQuOTAxNjMgMzEuNzEwN0M0Ljg3NjkzIDMyLjE4NTQgNS4wMzk2OSAzMi42MjA3IDUuMzcwNDQgMzIuOTY5NUM1LjcyMTgzIDMzLjMzOTggNi4xNjMyOSAzMy41MzQ4IDYuNjQ4NyAzMy41MzU0QzguMjUxODkgMzMuNTM1NCA5Ljc5NDg5IDMxLjMzMjcgMTAuMDg3NiAzMC44OTA5QzEwLjY3NjcgMzAuMDAyOSAxMS4yMjgxIDI5LjAxMjQgMTEuNzY4NCAyNy44Njk5QzEzLjEyOTIgMjcuMzc4MSAxNC41Nzk0IDI3LjAxMSAxNS45ODUgMjYuNjU2MkwxNi40ODg0IDI2LjUyODNDMTYuODY2OCAyNi40MzIxIDE3LjI2MDEgMjYuMzI1NyAxNy42NjM1IDI2LjIxNTNDMTguMDkwNCAyNi4wOTk5IDE4LjUyOTYgMjUuOTgwMiAxOC45NzYgMjUuODY2NUMyMC40MTkzIDI2Ljc4NDQgMjEuOTcxNCAyNy4zODMxIDIzLjQ4NTEgMjcuNjAyOEMyNC43NjAxIDI3Ljc4ODMgMjUuODkyNCAyNy42ODA3IDI2LjY1ODkgMjcuMjgxMUMyNy4zNDg2IDI2LjkyMTkgMjcuMzg2NiAyNi4zNjc2IDI3LjM3MDYgMjYuMTQ2MVpNMzAuNDc1NSAzNi4yNDI4QzMwLjQ3NTUgMzguMzkzMiAyOC41ODAyIDM4LjUyNTggMjguMTk3OCAzOC41MzAxSDMuNzQ0ODZDMS42MDIyNCAzOC41MzAxIDEuNDczMjIgMzYuNjIxOCAxLjQ2OTEzIDM2LjI0MjhMMS40Njg4NCAzLjc1NjQyQzEuNDY4ODQgMS42MDM5IDMuMzY3NjMgMS40NzM0IDMuNzQ0NTcgMS40NjkwOEgyMC4yNjNMMjAuMjcxOCAxLjQ3NzhWNy45MjM5NkMyMC4yNzE4IDkuMjE3NjMgMjEuMDUzOSAxMS42NjY5IDI0LjAxNTggMTEuNjY2OUgzMC40MjAzTDMwLjQ3NTMgMTEuNzIxOEwzMC40NzU1IDM2LjI0MjhaTTI4Ljk1NzIgMTAuMTk3NkgyNC4wMTY5QzIxLjg3NDkgMTAuMTk3NiAyMS43NDUzIDguMjk5NjkgMjEuNzQyNCA3LjkyNDE3VjIuOTUzMDdMMjguOTU3MiAxMC4xOTc2Wk0zMS45NDQ3IDM2LjI0MjhWMTEuMTE1N0wyMS43NDI0IDAuODcxMDIyVjAuODIzMzU3SDIxLjY5MzZMMjAuODc0MiAwSDMuNzQ0OTFDMi40NDk1NCAwIDAgMC43ODUzMzYgMCAzLjc1NzExVjM2LjI0MzVDMCAzNy41NDI3IDAuNzgyOTU2IDQwIDMuNzQ0OTEgNDBIMjguMjAwMUMyOS40OTUyIDM5Ljk5OTcgMzEuOTQ0NyAzOS4yMTQzIDMxLjk0NDcgMzYuMjQyOFoiIGZpbGw9IiNFQjU3NTciLz48L3N2Zz4NCg=='); background-size: contain; background-position: 50% 50%; background-repeat: no-repeat; vertical-align: baseline; transform: translatey(2px); } .ca-page-content a.external .icon { display: inline-block; margin-left: 0.375rem; margin-right: 0.125rem; width: 0.875rem; height: 0.875rem; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjUgNSA1NSA1NSI+PHBhdGggZD0iTTQ4IDI2Yy0xLjEgMC0yIDAuOS0yIDJ2MjZIMTBWMThoMjZjMS4xIDAgMi0wLjkgMi0ycy0wLjktMi0yLTJIOGMtMS4xIDAtMiAwLjktMiAydjQwYzAgMS4xIDAuOSAyIDIgMmg0MGMxLjEgMCAyLTAuOSAyLTJWMjhDNTAgMjYuOSA0OS4xIDI2IDQ4IDI2eiI+PC9wYXRoPjxwYXRoIGQ9Ik01NiA2SDQ0Yy0xLjEgMC0yIDAuOS0yIDJzMC45IDIgMiAyaDcuMkwzMC42IDMwLjZjLTAuOCAwLjgtMC44IDIgMCAyLjhDMzEgMzMuOCAzMS41IDM0IDMyIDM0czEtMC4yIDEuNC0wLjZMNTQgMTIuOFYyMGMwIDEuMSAwLjkgMiAyIDJzMi0wLjkgMi0yVjhDNTggNi45IDU3LjEgNiA1NiA2eiI+PC9wYXRoPjwvc3ZnPg0K'); background-size: contain; background-position: 50% 50%; background-repeat: no-repeat; transform: translatey(2px); } /** Details block for FAQs **/ .wp-block-details > summary { display: flex; justify-content: space-between; align-items: start; gap: 2rem; border: 2px solid var(--wp--preset--color--primary); padding: 1rem; font-weight: 500; cursor: pointer; } .wp-block-details > summary :is(h2, h3, h4, h5, h6, p) { margin: 0; font-size: inherit; font-weight: inherit; font-style: inherit; line-height: inherit; text-transform: inherit; color: inherit; } .wp-block-details > summary::marker { display: none; } .wp-block-details > summary::-webkit-details-marker { /* is this still needed? */ display: none; } .wp-block-details > summary::after { content: '\002b'; color: var(--wp--preset--color--primary); scale: 2; translate: 0 0.125rem; } .wp-block-details > summary:is(:hover, :focus-visible) { color: var(--wp--preset--color--base); background-color: var(--wp--preset--color--primary); } .wp-block-details > summary:is(:hover, :focus-visible)::after { color: var(--wp--preset--color--base); } .wp-block-details > :where(:not(summary)) { margin-inline: 1rem; opacity: 0; } /* details when open */ .wp-block-details[open] { padding-bottom: 1rem; } .wp-block-details[open] > summary { color: var(--wp--preset--color--base); background-color: var(--wp--preset--color--primary); } .wp-block-details[open] > summary::after { color: var(--wp--preset--color--base); } .wp-block-details[open] > summary::after { content: '\2212'; } .wp-block-details > :where(:not(summary)) { animation: detailsFadeIn 0.5s linear forwards; } @keyframes detailsFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } /**********************/ /***** Front Page *****/ /**********************/ /* hide home page link in navigation */ .ca-header-front .ca-header-nav-home { display: none !important; } /* position background image */ .ca-body-front { background-position: 50% 50%; } /* content layout */ .ca-page-content-front { padding-block: 2rem; } .ca-home-linkboxes { margin-top: 2rem; } @media (width >= 768px) { .ca-page-content-front { padding-block: 3.5rem; } .ca-home-intro { width: 80%; } .ca-home-linkboxes { margin-top: 2.5rem; } } /* link boxes */ .ca-home-linkboxes ul { margin: 0; padding: 0; list-style: none; display: flex; flex-flow: column nowrap; gap: 1.25rem; } .ca-home-linkboxes li { display: contents; } .ca-home-linkboxes a { display: block; position: relative; border-width: 15px 3px 3px 3px; border-style: solid; border-color: var(--wp--preset--color--primary); background-color: var(--wp--preset--color--base); padding: 1rem 1rem 4rem 1rem; color: var(--wp--preset--color--contrast); text-decoration: none; } .ca-home-linkboxes a::after { content: ''; position: absolute; left: 1rem; bottom: 1rem; width: 1.25rem; height: 1.25rem; background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSI0IDQgMTYgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYgMTJIMThNMTggMTJMMTMgN00xOCAxMkwxMyAxNyIgc3Ryb2tlPSIjNzUwMDE0IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg=='); background-size: contain; background-position: 50% 50%; background-repeat: no-repeat; } .ca-home-linkboxes a em { font-size: 80%; font-style: normal; font-weight: 400; opacity: 0.7; white-space: nowrap; } .ca-home-linkboxes a:is(:hover, :focus-visible) { background-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--base); } .ca-home-linkboxes a:is(:hover, :focus-visible)::after { background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSI0IDQgMTYgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYgMTJIMThNMTggMTJMMTMgN00xOCAxMkwxMyAxNyIgc3Ryb2tlPSIjRkZGRkZGIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg=='); } .ca-home-linkboxes a:is(:hover, :focus-visible) em { opacity: 1; } @media (width >= 768px) { .ca-home-linkboxes ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3%; } } </style> <style id='core-block-supports-inline-css'> .wp-elements-6aa88921775dac0c4a89e0506b2fe293 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--contrast);}.wp-container-core-group-is-layout-1.wp-container-core-group-is-layout-1 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-1.wp-container-core-group-is-layout-1.wp-container-core-group-is-layout-1.wp-container-core-group-is-layout-1 > * + *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-2.wp-container-core-group-is-layout-2 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-2.wp-container-core-group-is-layout-2.wp-container-core-group-is-layout-2.wp-container-core-group-is-layout-2 > * + *{margin-block-start:0;margin-block-end:0;}.wp-elements-fcb603614e8a9db6e06ac736288c2982 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--base);}.wp-elements-b51de27d12783ac2805c53a980a9f8d2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--base);}.wp-elements-89277afbce00c77c6b7c4bf59e0b5020 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--base);}.wp-container-core-group-is-layout-3.wp-container-core-group-is-layout-3 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-3.wp-container-core-group-is-layout-3.wp-container-core-group-is-layout-3.wp-container-core-group-is-layout-3 > * + *{margin-block-start:0.5rem;margin-block-end:0;}.wp-container-core-group-is-layout-5.wp-container-core-group-is-layout-5 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-5.wp-container-core-group-is-layout-5.wp-container-core-group-is-layout-5.wp-container-core-group-is-layout-5 > * + *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-7.wp-container-core-group-is-layout-7 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-7.wp-container-core-group-is-layout-7.wp-container-core-group-is-layout-7.wp-container-core-group-is-layout-7 > * + *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-8.wp-container-core-group-is-layout-8 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-8.wp-container-core-group-is-layout-8.wp-container-core-group-is-layout-8.wp-container-core-group-is-layout-8 > * + *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-9.wp-container-core-group-is-layout-9 > *{margin-block-start:0;margin-block-end:0;}.wp-container-core-group-is-layout-9.wp-container-core-group-is-layout-9.wp-container-core-group-is-layout-9.wp-container-core-group-is-layout-9 > * + *{margin-block-start:0;margin-block-end:0;} </style> <style id='wp-block-template-skip-link-inline-css'> .skip-link.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; } .skip-link.screen-reader-text:focus { background-color: #eee; clip: auto !important; clip-path: none; color: #444; display: block; font-size: 1em; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } </style> <script id="jquery-core-js-extra"> var ajaxurl = "https:\/\/accessibility.mit.edu\/wp-admin\/admin-ajax.php"; var msreader_featured_posts = {"saving":"Saving...","post_featured":"This post is featured","feature":"Feature","unfeature":"Unfeature"}; </script> <script src="https://accessibility.mit.edu/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script src="https://accessibility.mit.edu/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://accessibility.mit.edu/wp-json/" /><link rel="alternate" type="application/json" href="https://accessibility.mit.edu/wp-json/wp/v2/pages/7" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://accessibility.mit.edu/xmlrpc.php?rsd" /> <meta name="generator" content="Captioning and Accessibility 6.5.5 - https://accessibility.mit.edu" /> <link rel="canonical" href="https://accessibility.mit.edu/" /> <link rel='shortlink' href='https://accessibility.mit.edu/' /> <link rel="alternate" type="application/json+oembed" href="https://accessibility.mit.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Faccessibility.mit.edu%2F" /> <link rel="alternate" type="text/xml+oembed" href="https://accessibility.mit.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Faccessibility.mit.edu%2F&#038;format=xml" /> <style> @media screen and (max-width: 782px) { #wpadminbar li#wp-admin-bar-log-in, #wpadminbar li#wp-admin-bar-register { display: block; } #wpadminbar li#wp-admin-bar-log-in a, #wpadminbar li#wp-admin-bar-register a { padding: 0 8px; } } </style> <script type="text/javascript"> var jQueryMigrateHelperHasSentDowngrade = false; window.onerror = function( msg, url, line, col, error ) { // Break out early, do not processing if a downgrade reqeust was already sent. if ( jQueryMigrateHelperHasSentDowngrade ) { return true; } var xhr = new XMLHttpRequest(); var nonce = 'a60a437505'; var jQueryFunctions = [ 'andSelf', 'browser', 'live', 'boxModel', 'support.boxModel', 'size', 'swap', 'clean', 'sub', ]; var match_pattern = /\)\.(.+?) is not a function/; var erroredFunction = msg.match( match_pattern ); // If there was no matching functions, do not try to downgrade. if ( null === erroredFunction || typeof erroredFunction !== 'object' || typeof erroredFunction[1] === "undefined" || -1 === jQueryFunctions.indexOf( erroredFunction[1] ) ) { return true; } // Set that we've now attempted a downgrade request. jQueryMigrateHelperHasSentDowngrade = true; xhr.open( 'POST', 'https://accessibility.mit.edu/wp-admin/admin-ajax.php' ); xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ); xhr.onload = function () { var response, reload = false; if ( 200 === xhr.status ) { try { response = JSON.parse( xhr.response ); reload = response.data.reload; } catch ( e ) { reload = false; } } // Automatically reload the page if a deprecation caused an automatic downgrade, ensure visitors get the best possible experience. if ( reload ) { location.reload(); } }; xhr.send( encodeURI( 'action=jquery-migrate-downgrade-version&_wpnonce=' + nonce ) ); // Suppress error alerts in older browsers return true; } </script> <style type="text/css" id="branda-admin-bar"> #wpadminbar .ub_admin_bar_image{ max-width: 100%; max-height: 28px; padding: 2px 0; } #wpadminbar .ub-menu-item.dashicons { font-family: dashicons; top: 2px; } </style><script id="wp-load-polyfill-importmap"> ( HTMLScriptElement.supports && HTMLScriptElement.supports("importmap") ) || document.write( '<script src="https://accessibility.mit.edu/wp-includes/js/dist/vendor/wp-polyfill-importmap.min.js?ver=1.8.2"></scr' + 'ipt>' ); </script> <script type="importmap" id="wp-importmap"> {"imports":{"@wordpress\/interactivity":"https:\/\/accessibility.mit.edu\/wp-includes\/js\/dist\/interactivity.min.js?ver=6.5.5"}} </script> <script type="module" src="https://accessibility.mit.edu/wp-includes/blocks/navigation/view.min.js?ver=6.5.5" id="@wordpress/block-library/navigation-js-module"></script> <link rel="modulepreload" href="https://accessibility.mit.edu/wp-includes/js/dist/interactivity.min.js?ver=6.5.5" id="@wordpress/interactivity-js-modulepreload"> <!-- Google Analytics tracking code output by Beehive Analytics Pro --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-230LN9FWEQ&l=beehiveDataLayer"></script> <script> window.beehiveDataLayer = window.beehiveDataLayer || []; function gaplusu() {beehiveDataLayer.push(arguments);} gaplusu('js', new Date()) gaplusu('config', 'G-230LN9FWEQ', { 'anonymize_ip': false, 'allow_google_signals': false, }) </script> <style type="text/css"> /* <![CDATA[ */ img.latex { vertical-align: middle; border: none; } /* ]]> */ </style> <link rel="icon" href="https://accessibility.mit.edu/files/2024/06/cropped-mit-favicon-black-on-white-512sq-32x32.png" sizes="32x32" /> <link rel="icon" href="https://accessibility.mit.edu/files/2024/06/cropped-mit-favicon-black-on-white-512sq-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://accessibility.mit.edu/files/2024/06/cropped-mit-favicon-black-on-white-512sq-180x180.png" /> <meta name="msapplication-TileImage" content="https://accessibility.mit.edu/files/2024/06/cropped-mit-favicon-black-on-white-512sq-270x270.png" /> <style type="text/css">#wp-admin-bar-abm-login{display:block!important}body .wp-video-shortcode video,body video.wp-video-shortcode{margin:0;padding:0;background:0 0;border:none;box-shadow:none;min-width:0;height:auto;min-height:0}.screen-reader-text:not(button){clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}</style></head> <body class="home page-template-default page page-id-7 wp-embed-responsive"> <div class="wp-site-blocks"> <div class="wp-block-group ca-outer-page is-layout-flow wp-container-core-group-is-layout-9 wp-block-group-is-layout-flow" style="min-height:100vh;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0"> <header class="wp-block-group ca-header ca-header-front has-global-padding is-layout-constrained wp-container-core-group-is-layout-2 wp-block-group-is-layout-constrained" style="border-top-color:var(--wp--preset--color--primary);border-top-width:22px"> <div class="wp-block-group ca-header-inner is-layout-flow wp-container-core-group-is-layout-1 wp-block-group-is-layout-flow"> <figure class="wp-block-image size-full is-resized ca-header-mitlogo"><a href="https://web.mit.edu/" target="_blank" rel="noreferrer noopener"><img width="1360" height="720" src="https://accessibility.mit.edu/files/2024/06/mit_logo_std_rgb_black_crop.svg" alt="Massachusetts Institute of Technology" class="wp-image-63" style="width:68px"/></a></figure> <h2 class="wp-block-heading ca-header-sitetitle has-contrast-color has-text-color has-link-color wp-elements-6aa88921775dac0c4a89e0506b2fe293" style="font-size:clamp(1.055rem, 1.055rem + ((1vw - 0.2rem) * 1.15), 1.63rem);font-style:normal;font-weight:600;line-height:1">Captioning &amp; Accessibility</h2> <form role="search" method="get" action="https://accessibility.mit.edu/" class="wp-block-search__button-outside wp-block-search__icon-button ca-header-search wp-block-search" ><label class="wp-block-search__label screen-reader-text" for="wp-block-search__input-1" style="font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem)">Search</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="Search" value="" type="search" name="s" required style="font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem)"/><button aria-label="Go" class="wp-block-search__button has-icon wp-element-button" type="submit" style="font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem)"><svg class="search-icon" viewBox="0 0 24 24" width="24" height="24"> <path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path> </svg></button></div></form> <nav style="font-style:normal;font-weight:600;line-height:1.25;" class="has-text-color has-primary-color has-small-font-size is-responsive ca-header-nav wp-block-navigation has-small-font-size is-layout-flex wp-block-navigation-is-layout-flex" aria-label="CA Main Menu" data-wp-interactive="core/navigation" data-wp-context='{"overlayOpenedBy":{"click":false,"hover":false,"focus":false},"type":"overlay","roleAttribute":"","ariaLabel":"Menu"}'><button aria-haspopup="dialog" aria-label="Open menu" class="wp-block-navigation__responsive-container-open " data-wp-on--click="actions.openMenuOnClick" data-wp-on--keydown="actions.handleMenuKeydown" ><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" /></svg></button> <div class="wp-block-navigation__responsive-container " style="" id="modal-3" data-wp-class--has-modal-open="state.isMenuOpen" data-wp-class--is-menu-open="state.isMenuOpen" data-wp-watch="callbacks.initMenu" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--focusout="actions.handleMenuFocusout" tabindex="-1" > <div class="wp-block-navigation__responsive-close" tabindex="-1"> <div class="wp-block-navigation__responsive-dialog" data-wp-bind--aria-modal="state.ariaModal" data-wp-bind--aria-label="state.ariaLabel" data-wp-bind--role="state.roleAttribute" > <button aria-label="Close menu" class="wp-block-navigation__responsive-container-close" data-wp-on--click="actions.closeMenuOnClick" ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"></path></svg></button> <div class="wp-block-navigation__responsive-container-content" data-wp-watch="callbacks.focusFirstElement" id="modal-3-content"> <ul style="font-style:normal;font-weight:600;line-height:1.25;" class="wp-block-navigation__container has-text-color has-primary-color has-small-font-size is-responsive ca-header-nav wp-block-navigation has-small-font-size"><li class="has-small-font-size wp-block-navigation-item current-menu-item ca-header-nav-home menu-trail-ignore wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/" aria-current="page"><span class="wp-block-navigation-item__label">Home</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/campus-resources/"><span class="wp-block-navigation-item__label">Campus Resources</span></a></li><li data-wp-context="{ &quot;submenuOpenedBy&quot;: { &quot;click&quot;: false, &quot;hover&quot;: false, &quot;focus&quot;: false }, &quot;type&quot;: &quot;submenu&quot; }" data-wp-interactive="core/navigation" data-wp-on--focusout="actions.handleMenuFocusout" data-wp-on--keydown="actions.handleMenuKeydown" data-wp-on--mouseenter="actions.openMenuOnHover" data-wp-on--mouseleave="actions.closeMenuOnHover" data-wp-watch="callbacks.initMenu" tabindex="-1" class="has-small-font-size wp-block-navigation-item has-child wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/">Captioning</a><ul class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/mit-nad-agreement/"><span class="wp-block-navigation-item__label">MIT-NAD Agreement</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/ways-to-get-your-video-captioned/"><span class="wp-block-navigation-item__label">Ways to Get Your Video Captioned (MIT only)</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/training-resources-captioning/"><span class="wp-block-navigation-item__label">Training &amp; Resources on Captioning (MIT only)</span></a></li><li class="has-small-font-size wp-block-navigation-item has-child wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/frequently-asked-questions/">Frequently Asked Questions (MIT only)</a><ul class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/frequently-asked-questions/scope-questions/"><span class="wp-block-navigation-item__label">Scope Questions</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/frequently-asked-questions/timeline-questions/"><span class="wp-block-navigation-item__label">Timeline Questions</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/frequently-asked-questions/captioning-standards-and-technical-details/"><span class="wp-block-navigation-item__label">Captioning Standards and Technical Details</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/frequently-asked-questions/accessibility-link-and-public-captioning-requests/"><span class="wp-block-navigation-item__label">Accessibility Link and Public Captioning Requests</span></a></li></ul></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/captioning/contact/"><span class="wp-block-navigation-item__label">Contact (MIT only)</span></a></li></ul></li><li class="has-small-font-size wp-block-navigation-item has-child wp-block-navigation-submenu"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/">Digital Accessibility</a><ul class="wp-block-navigation__submenu-container wp-block-navigation-submenu"><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/tools/"><span class="wp-block-navigation-item__label">Tools</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/training/"><span class="wp-block-navigation-item__label">Training</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/presentations/"><span class="wp-block-navigation-item__label">Presentations</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/it-procurement/"><span class="wp-block-navigation-item__label">IT Procurement</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/accessibility-remote-teaching-tools/"><span class="wp-block-navigation-item__label">Accessibility of Remote Teaching Tools</span></a></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://accessibility.mit.edu/digital-accessibility/contact-us/"><span class="wp-block-navigation-item__label">Contact Us</span></a></li></ul></li><li class="has-small-font-size wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content" href="https://mit.co1.qualtrics.com/jfe/form/SV_bfL80IdctDylEqx" target="_blank" ><span class="wp-block-navigation-item__label">Accessibility Request Form</span></a></li></ul><form role="search" method="get" action="https://accessibility.mit.edu/" class="wp-block-search__button-outside wp-block-search__icon-button ca-header-nav-search wp-block-search" ><label class="wp-block-search__label screen-reader-text" for="wp-block-search__input-2" style="font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem)">Search</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-2" placeholder="Search" value="" type="search" name="s" required style="font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem)"/><button aria-label="Go" class="wp-block-search__button has-icon wp-element-button" type="submit" style="font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.25), 1rem)"><svg class="search-icon" viewBox="0 0 24 24" width="24" height="24"> <path d="M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path> </svg></button></div></form> </div> </div> </div> </div></nav></div> </header> <div class="wp-block-group ca-body ca-body-front has-primary-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained" style="min-height:90vh;padding-bottom:var(--wp--preset--spacing--60);background-image:url(&#039;https://accessibility.mit.edu/files/2024/06/big-dome-fall-image.jpg&#039;);background-size:cover;"> <main class="wp-block-group ca-body-inner is-layout-flow wp-container-core-group-is-layout-5 wp-block-group-is-layout-flow"> <h1 class="wp-block-heading ca-page-title-front visually-hidden has-base-color has-text-color has-link-color wp-elements-fcb603614e8a9db6e06ac736288c2982">MIT Captioning &amp; Accessibility</h1> <div class="entry-content ca-page-content-front wp-block-post-content is-layout-flow wp-block-post-content-is-layout-flow"> <div class="wp-block-group ca-home-intro has-base-color has-contrast-background-color has-text-color has-background has-link-color wp-elements-b51de27d12783ac2805c53a980a9f8d2 is-layout-flow wp-container-core-group-is-layout-3 wp-block-group-is-layout-flow" style="padding-top:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem;padding-left:1.5rem"> <h2 class="wp-block-heading has-base-color has-text-color has-link-color wp-elements-89277afbce00c77c6b7c4bf59e0b5020" style="font-size:clamp(1.502rem, 1.502rem + ((1vw - 0.2rem) * 1.996), 2.5rem);font-style:normal;font-weight:600;line-height:1.2">Our Commitment</h2> <p style="font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.75), 1.25rem);">MIT is committed to providing an environment that is accessible to individuals with disabilities. We invite all to learn about captioning and accessibility of digital content, and to report any accessibility issues or captioning requests in the form link on this page.</p> </div> <div class="wp-block-group ca-home-linkboxes is-layout-flow wp-block-group-is-layout-flow"> <ul style="font-size:clamp(1.055rem, 1.055rem + ((1vw - 0.2rem) * 1.15), 1.63rem);line-height:1.2" class="has-contrast-color has-text-color"> <li><a href="https://accessibility.mit.edu/captioning/ways-to-get-your-video-captioned/" data-type="page" data-id="30">Ways to get your video captioned <em>(MIT only)</em></a></li> <li><a href="https://accessibility.mit.edu/captioning/training-resources-captioning/" data-type="page" data-id="32">Training materials about captioning <em>(MIT only)</em></a></li> <li><a href="https://mit.co1.qualtrics.com/jfe/form/SV_bfL80IdctDylEqx" target="_blank" rel="noreferrer noopener nofollow">Accessibility Request Form <em>(Public)</em></a></li> </ul> </div> </div></main> </div> <footer class="wp-block-group ca-footer ca-footer-front has-global-padding is-layout-constrained wp-container-core-group-is-layout-8 wp-block-group-is-layout-constrained"> <div class="wp-block-group ca-footer-inner is-layout-flow wp-container-core-group-is-layout-7 wp-block-group-is-layout-flow" style="min-height:6rem;margin-top:0;margin-bottom:0;padding-top:0.88rem;padding-right:0.5rem;padding-bottom:0.88rem;padding-left:0.5rem"> <p class="ca-footer-content"><a href="http://studentlife.mit.edu/" target="_blank" rel="noreferrer noopener">Division of Student Life</a> | Massachusetts Institute of Technology</p> </div> </footer> </div> </div> <script id="wp-block-template-skip-link-js-after"> ( function() { var skipLinkTarget = document.querySelector( 'main' ), sibling, skipLinkTargetID, skipLink; // Early exit if a skip-link target can't be located. if ( ! skipLinkTarget ) { return; } /* * Get the site wrapper. * The skip-link will be injected in the beginning of it. */ sibling = document.querySelector( '.wp-site-blocks' ); // Early exit if the root element was not found. if ( ! sibling ) { return; } // Get the skip-link target's ID, and generate one if it doesn't exist. skipLinkTargetID = skipLinkTarget.id; if ( ! skipLinkTargetID ) { skipLinkTargetID = 'wp--skip-link--target'; skipLinkTarget.id = skipLinkTargetID; } // Create the skip link. skipLink = document.createElement( 'a' ); skipLink.classList.add( 'skip-link', 'screen-reader-text' ); skipLink.href = '#' + skipLinkTargetID; skipLink.innerHTML = 'Skip to content'; // Inject the skip link. sibling.parentElement.insertBefore( skipLink, sibling ); }() ); </script> <script id="blog_templates_front-js-extra"> var blog_templates_params = {"type":"screenshot_plus"}; </script> <script src="https://accessibility.mit.edu/wp-content/plugins/blogtemplates//blogtemplatesfiles/assets/js/front.js?ver=2.6.8.2" id="blog_templates_front-js"></script> <script> // // Menu highlighting and breadcrumb // // The following makes sure that the current page's menu item and its // parents are properly marked with highlighting classes, builds // a breadcrumb based on the current page's ancestor menu items, // and build the secondary navigation for the current section. // document.addEventListener('DOMContentLoaded', function() { // Parameters // const menuRootSelector = 'ul.ca-header-nav'; // where to find the main menu const breadcrumbTargetSelector = '.ca-breadcrumbs'; // where to put the breadcrumbs const breadcrumbIncludeHome = true; // include "Home" in breadcrumb? (true/false) const breadcrumbIncludeCurrent = true; // include current page in breadcrumb? (true/false) const breadcrumbHomeSelector = '.ca-header-sitetitle a'; // where to get the link to the home page const nav2TargetSelector = '.ca-nav2-column'; // where to put secondary navigation // Get the menu trail leading to the current page // const menuTrail = getMenuTrail(); // Use menu trail to mark current and ancestor items in menu // menuHighlight(menuTrail); // Use menu trail to create breadcrumb // if (breadcrumbTargetSelector) { createBreadcrumbs(menuTrail); } // Create secondary navigation // if (nav2TargetSelector) { createSecondaryNav(menuTrail); } // // getMenuTrail() // Get the menu trail to the current page. // Returns an array of objects, starting with the current menu item // and leading back to the top level menu. Each object contains: // link: menu item link element // type: 'current' for link to current page, or 'ancestor' for an ancestor page link // Note that the first item in the array corresponds to the current page // (or closest ancestor in the menu), and the last item is the top level menu ancestor // function getMenuTrail() { const menuTrail = []; // Get the current page path without anchors or query parameters const currentPagePath = window.location.pathname.replace(/\/$/, ''); // remove trailing slash // Get all menu links const menuLinks = document.querySelectorAll(menuRootSelector + ' li:not(.menu-trail-ignore) a'); // Iterate through each menu link to look for an exact match for (const menuLink of menuLinks) { const menuLinkPath = menuLink.pathname.replace(/\/$/, ''); // Check if the menu item's path matches the current page path if (currentPagePath === menuLinkPath) { let parentMenuItem = menuLink.closest('li') // Add to array menuTrail.push({ 'item': parentMenuItem, 'link': menuLink, 'type': 'current' }); // add all ancestors to array parentMenuItem = parentMenuItem.parentNode.closest('li'); while (parentMenuItem) { menuTrail.push({ 'item': parentMenuItem, 'link': parentMenuItem.querySelector(':scope > a'), 'type': 'ancestor' }); parentMenuItem = parentMenuItem.parentNode.closest('li'); } return menuTrail; } } // No exact match found, so look for nearest ancestor match by // removing one path fragment at a time const currentPathFrags = currentPagePath.split('/'); // beware: first element is empty string for (let i = currentPathFrags.length - 2; i > 0; i--) { const path = currentPathFrags.slice(0, i + 1).join('/'); for (const menuLink of menuLinks) { const menuLinkPath = menuLink.pathname.replace(/\/$/, ''); if (menuLinkPath === path) { let parentMenuItem = menuLink.closest('li') // Add to array menuTrail.push({ 'item': parentMenuItem, 'link': menuLink, 'type': 'ancestor' }); // add all ancestors to array parentMenuItem = parentMenuItem.parentNode.closest('li'); while (parentMenuItem) { menuTrail.push({ 'item': parentMenuItem, 'link': parentMenuItem.querySelector(':scope > a'), 'type': 'ancestor' }); parentMenuItem = parentMenuItem.parentNode.closest('li'); } return menuTrail; } } } return menuTrail; } // // menuHighlight() // Add classes to highlight the current menu trail. // Note that WordPress marks the current menu item's 'li' tag with 'current-menu-item', // but for ancestors marks the 'a' tag. // Here we also add a data-menutrail attribute with value 'current' or 'ancestor' to // both the link (a) and list item (li) elements. // function menuHighlight(menuTrail) { for (const mitem of menuTrail) { if (mitem.link) { if (mitem.type === 'current') { mitem.item.classList.add('current-menu-item'); mitem.item.setAttribute('data-menutrail', 'current'); mitem.link.setAttribute('data-menutrail', 'current'); } else if (mitem.type === 'ancestor') { mitem.link.classList.add('current-menu-ancestor'); mitem.item.setAttribute('data-menutrail', 'ancestor'); mitem.link.setAttribute('data-menutrail', 'ancestor'); } } } } // // createBreadcrumbs() // Adds a breadcrumb trail to the page. // There must exist an outer container for the breadcrumbs, findable with // the selector breadcrumbTargetSelector. // function createBreadcrumbs(menuTrail) { // create inner containers const navEl = document.createElement('nav'); const listEl = document.createElement('ul'); navEl.setAttribute('aria-label', 'Breadcrumbs'); // If we want a Home link, start with that // if (breadcrumbIncludeHome) { const homeLinkEl = document.querySelector(breadcrumbHomeSelector); if (homeLinkEl) { const linkEl = document.createElement('a'); linkEl.appendChild(document.createTextNode('Home')); linkEl.href = homeLinkEl.href; const itemEl = document.createElement('li'); itemEl.appendChild(linkEl); listEl.appendChild(itemEl); } } // Add other links from menu trail // for (let i = menuTrail.length - 1; i >= 0; i--) { if (menuTrail[i].link && menuTrail[i].type != 'current') { const linkEl = document.createElement('a'); linkEl.appendChild(document.createTextNode(menuTrail[i].link.text)); linkEl.href = menuTrail[i].link.href; const itemEl = document.createElement('li'); itemEl.appendChild(linkEl); listEl.appendChild(itemEl); } else if (breadcrumbIncludeCurrent && menuTrail[i].type == 'current') { const itemEl = document.createElement('li'); itemEl.appendChild(document.createTextNode(menuTrail[i].link.text)); listEl.appendChild(itemEl); } } // If anything has been added to inner container, insert into outer container const containerEl = document.querySelector(breadcrumbTargetSelector); if (containerEl && listEl.childNodes.length > 0) { navEl.appendChild(listEl); containerEl.appendChild(navEl); } // otherwise mark container as empty else if (containerEl) { containerEl.classList.add('empty'); } } // // createSecondaryNav() // Adds secondary navigation to the page. // There must exist an outer container for the secondary nav, findable with // the selector nav2TargetSelector. // function createSecondaryNav(menuTrail) { // find secondary nav container const containerEl = document.querySelector(nav2TargetSelector); if (containerEl && menuTrail.length > 0) { // find submenu of current top level menu item const sectionNav = menuTrail[menuTrail.length-1].item.querySelector(':scope > ul'); if (sectionNav) { // create clone of submenu const cloneNav = sectionNav.cloneNode(true); // remove all classes and styles cloneNav.removeAttribute('class'); cloneNav.removeAttribute('style'); cloneNav.querySelectorAll('*').forEach(el => { el.removeAttribute('class'); el.removeAttribute('style'); }); // add back current/ancestor classes cloneNav.querySelectorAll('li, a').forEach(el => { if (el.getAttribute('data-menutrail') === 'current') { el.classList.add('current-menu-item'); } if (el.getAttribute('data-menutrail') === 'ancestor') { el.classList.add('current-menu-ancestor'); } }); // add menu to page const navEl = document.createElement('nav'); navEl.classList.add('ca-nav2'); navEl.setAttribute('aria-label', 'Section navigation'); navEl.appendChild(cloneNav); containerEl.appendChild(navEl); return; } } // no secondary nav, so mark container as empty if (containerEl) { containerEl.classList.add('empty'); } } }); // // Link icons and targets // // The following checks all links in the main text area and... // - adds classes as follows: // - link to PDF file: "pdf" // - link to other MIT site, not this one: "mit" // - link to non-MIT site: "external" // - target="_blank" is added to all of the above // - a span with class "icon" is appended to pdf and external links // document.addEventListener('DOMContentLoaded', function() { // Get all links in content area // const links = document.querySelectorAll('.ca-page-content a'); // Tags allowed within links // (links containing images, for example, are skipped) // const allowedTags = ['b', 'strong', 'i', 'em', 'span']; // Iterate through links and add classes and targets // links.forEach(function(linkEl) { // get href const href = linkEl.getAttribute('href'); // check if href is present and starts with http:// or https:// if (href && (href.startsWith('http://') || href.startsWith('https://'))) { // check if the link contains only text or allowed tags let isValidLink = true; for (var i = 0; i < linkEl.childNodes.length; i++) { const node = linkEl.childNodes[i]; if (node.nodeType === Node.TEXT_NODE) { continue; // Text node } else if (node.nodeType === Node.ELEMENT_NODE && !allowedTags.includes(node.tagName.toLowerCase())) { isValidLink = false; break; } } // if valid href, add classes and target based on href // also add spans for icons to PDF and external links if (isValidLink) { const spanEl = document.createElement('span'); spanEl.classList.add('icon'); if (href.includes('.pdf')) { linkEl.classList.add('pdf'); linkEl.setAttribute('target', '_blank'); //linkEl.insertBefore(spanEl, linkEl.firstChild); linkEl.appendChild(spanEl); } else if (href.includes(window.location.hostname)) { /* link within site, do nothing */ } else if (href.includes('mit.edu')) { linkEl.classList.add('mit'); linkEl.setAttribute('target', '_blank'); } else { linkEl.classList.add('external'); linkEl.setAttribute('target', '_blank'); linkEl.appendChild(spanEl); } } } }); }); // // Accessibility adjustments // // The following makes some accessibility adjustments: // - change unnecessary figure elements to divs // - MIT logo in header // - tables // - videos // - add heading tags to details elements (as on FAQ pages) // document.addEventListener('DOMContentLoaded', function() { // General-purpose function to change elements from one tag to another // function changeElements(selector, newTagName) { // get elements matching selector const els = document.querySelectorAll(selector); // iterate through elements els.forEach(function(el) { // create new element with the specified tag name var newEl = document.createElement(newTagName); // copy attributes for (let i = 0; i < el.attributes.length; i++) { const attr = el.attributes[i]; newEl.setAttribute(attr.name, attr.value); } // move all child nodes to new element while (el.firstChild) { newEl.appendChild(el.firstChild); } // replace the original element el.parentNode.replaceChild(newEl, el); }); } // Replace certain figure tags on CA site // changeElements('figure.ca-header-mitlogo', 'div'); changeElements('figure.ca-captioning-service-table', 'div'); changeElements('figure.wp-block-embed:not(:has(figcaption))', 'div'); changeElements('figure.wp-block-image:not(:has(figcaption))', 'div'); // General-purpose function to wrap children of elements in a new tag // function wrapChildElements(selector, newTagName, newTagClass = '') { // get elements matching selector const els = document.querySelectorAll(selector); // iterate through elements els.forEach(function(el) { // create new element with the specified tag name var newEl = document.createElement(newTagName); // set new element classname if (newTagClass) { newEl.classList.add(newTagClass); } // move all child nodes to new element while (el.firstChild) { newEl.appendChild(el.firstChild); } // add new element to original element el.appendChild(newEl); }); } // Wrap heading around summary text // wrapChildElements('.ca-page-content .wp-block-details summary', 'h2'); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10