CINXE.COM
Delft University of Technology | TU Delft | Challenge. Change. Impact!
<!DOCTYPE html> <html dir="ltr" lang="en-US"> <head> <meta charset="utf-8"> <!-- This website is powered by TYPO3 - inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2025 of Kasper Skaarhoj. Extensions are copyright of their respective owners. Information and contribution at https://typo3.org/ --> <title>Delft University of Technology | TU Delft | Challenge. Change. Impact!</title> <meta name="generator" content="TYPO3 CMS" /> <meta name="description" content="Top education and research are at the heart of the oldest and largest technical university in the Netherlands. Our 8 faculties offer 16 bachelor's and more than 30 master's programs. Our more than 25,000 students and 6,000 employees share a fascination for science, design and engineering. Our shared mission: impact for a better society. " /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta property="og:site_name" content="TU Delft" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Delft University of Technology" /> <meta property="og:description" content="Top education and research are at the heart of the oldest and largest technical university in the Netherlands. Our 8 faculties offer 16 bachelor's and more than 30 master's programs. Our more than 25,000 students and 6,000 employees share a fascination for science, design and engineering. Our shared mission: impact for a better society." /> <meta property="og:image" content="https://filelist.tudelft.nl/_processed_/7/5/csm_Cutout-02-1_96d41d8810.png" /> <meta name="twitter:card" content="summary" /> <meta name="google-site-verification" content="vShvXo6q-uO9k9SNJyGlW9uV3m6LmjyO00PR-Ts7hYQ" /> <link rel="stylesheet" type="text/css" href="/typo3conf/ext/site_tud/Resources/Public/StyleSheets/dist.style.e19d9d9b36.min.css" media="all"> <style type="text/css"> /*<![CDATA[*/ <!-- /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelper93441fea88fec941fd0a98f63670da0e*/ .frame-space-before-40 { margin-top: 40px !important; } /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelper779269f31609e70db82b0198a82ed3f1*/ .frame-space-after-50 { margin-bottom: 50px !important; } /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelper4116e56e1a3cb55ac4bdc1d57e08a355*/ .frame-space-before-20 { margin-top: 20px !important; } /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelperf7be6d75fc69ff689cd52ea09d0d2342*/ .frame-space-after-20 { margin-bottom: 20px !important; } /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelperdf6c94b0f726e19ac220da683001a998*/ .frame-space-before-30 { margin-top: 30px !important; } /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelperfce12f5db9ae9d7b33a6244c687654da*/ .frame-space-after-40 { margin-bottom: 40px !important; } /*MaxServ\FoundationFramework\ViewHelpers\InlineCssViewHelper6eb823bfe5321fa8f627071ff08623fa*/ .frame-space-before-10 { margin-top: 10px !important; } --> /*]]>*/ </style> <style> #dynamicHeader-c1148497 .dynamicHeader-slide { --mobile-height: 0.8; --tablet-height: 0.8; --desktop-height: 0.6; } </style> <script src="/typo3conf/ext/tud_styling/Resources/Public/JavaScript/Vendor/modernizr.min.js"></script> <script src="/typo3temp/assets/js/6d999f1aea.js"></script> <script type="text/javascript"> var _wfl={fonts:[ {family:"roboto", weight: 300}, {family:"roboto", weight: 100}, ],isLoaded:function(){return document.cookie.indexOf("fontsLoaded")>=0},afterLoad:function(){document.documentElement.className+=" fontsLoaded",document.cookie="fontsLoaded=1; path=/"}};!function(){var e;if(_wfl.isLoaded())_wfl.afterLoad();else if(void 0!==document.fonts&&void 0!==window.Promise){document.fonts.onloadingerror=function(){console.error("Font error",arguments)};var o=_wfl.fonts.map(function(e){return e.family});e=document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",e);var n=[];document.fonts.forEach(function(e){o.indexOf(e.family)>=0&&n.push(e.load())}),Promise.all(n).then(_wfl.afterLoad)})}else{var n=document.createElement("script");n.type="text/javascript",n.src= "/typo3conf/ext/tud_styling/Resources/Public/JavaScript/Vendor/asyncfontloader.min.js" ,n.async=!0,e=window.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",e),document.head.appendChild(n)})}}();</script><style> .nav-tab a.is-active { color: white !important; } a.is-active {background-color: #00a6d6;} .paging a.is-active {color:white; background-color: #BABABA; border-color: #BABABA;} .tab--red a.is-active {background-color: #E21A1A;} .tab--green a.is-active {background-color: #A5CA1A;} .tab--black a.is-active {background-color: #222;} .tab--white a.is-active {background-color: #fff; color:#000;} .tab--blue_lighter a.is-active {background-color: #D9F0F6;} .tab--blue_light a.is-active {background-color: #6EBBD5;} .tab--blue_dark a.is-active {background-color: #1E6188;} .tab--teal a.is-active {background-color: #008891;} .tab--yellow a.is-active {background-color: #FFC400;} .tab--orange a.is-active {background-color: #E64616;} .tab--purple a.is-active {background-color: #1C1C73;} .tab--purple_light a.is-active {background-color: #6D177F;} .tab--grey_dark a.is-active {background-color: #505050;} .tab--grey a.is-active {background-color: #9B9B9B;} .tab--grey_medium a.is-active {background-color: #BABABA;} .tab--grey_light a.is-active {background-color: #E7E7E7; color:#000;} .tab--pink a.is-active {background-color: #DB028C;} .nav-tab { font-family: 'Roboto Slab', Roboto; } .nav-tab a { padding: .5rem .5rem 0.3rem; } .nav-tab~* { border: 0; } </style> <style> /* no-padding fix */ .grid--noPaddingBottom) > * {padding-bottom: 0.1rem;} /* outline op accordions focus-visible */ .accordion__button:focus-visible {outline: 1px dashed black;} /* .contrast .nav-inline .horizontalTiny overflow fix */ .contrast .nav-inpage .card--horizontalTiny {overflow-y: hidden !important;} /* .i-search fix */ /* .nav-main .i-search span {display: initial;} */ /* flexbox referenties fix */ .row--equalHeightContentElements > div > .frame-type-shortcut { flex-grow: 1; display: inherit; } /* linkkleur in zwarte magazine nav */ .bg-black.magazine-navigation a {color:white;} /* contrast patch voor dynamic header */ /* .contrast .dynamicHeader-slideLink { background-color: #000d; border-radius: 3px; padding-left: 5px; } .contrast .dynamicHeader-slideTitle, .contrast .dynamicHeader-slideDescription { color: white; } */ /* Twitter / X icon */ i-twitter-after::after, .i-twitter::before { content: ""; width: 22px; height: 22px; } /* white ghost button text on hover fix */ .btn--ghost:hover.btn--white:hover {color: black !important;} .contrast .btn--ghost:hover.btn--white:hover {color: white !important;} /* Grid Card background fix */ .grid-background--black .card__img + .card__content {color:black;} .grid-background--black .label {color:#999;} /* Transparent topnav fixes */ .bg-transparent .nav-main__mainitem>a {text-shadow: 0px 0px 3px #888;} .bg-transparent .btn--languageSwitch:after, .bg-transparent .i-search:after {box-shadow: 0 0 2px #888, 0 0 1px #888 inset;} .bg-transparent .icon-languageSwitch, .bg-transparent .btn--icon:before {filter: drop-shadow(0px 0px 4px lightgrey);} .carousel .btn--round, .carousel .slick-arrow {filter: drop-shadow(0px 0px 3px #888);} /* Accordion title fix */ .accordion__title:before {font-size: .7rem;padding: .4rem;} /* Card text size reduction */ .frame-type-lookup_results .card__content:not(h3){font-size: .9rem;} .user-content h3 {margin-top:initial;} /* Blockquote edits*/ .frame-type-sitetud_quote>div{clear:both;} /* blockquote {float:none; padding-top: .5em; padding-bottom: 0;} */ /* disabled on 29-1-2024 */ blockquote cite {margin-top: 0rem; margin-bottom: 10px;} blockquote img {margin-top: -10px;} img + cite {margin-top: 2.5rem;margin-bottom: 2.5em} blockquote.quote-title-size--large img {margin-top:-30px;} blockquote.quote-title-size--medium img + cite {margin-bottom: 3em;} blockquote.quote-title-size--medium p {line-height:1.5;} /* Fix of header slider loading issues */ /*.poster {display:none;} .poster.is-loaded {display:block;} .headerBanner-content {display:initial;}*/ /* Form fixes */ .tx-powermail .checkbox, .tx-powermail .radio {display:block !important;} form {max-width: 100%;} /* blauwe link in cookiemelding */ .cookieNotice a {color: #00a6d6 ;} .cookieNotice .statement_expand:hover {color: #0066a2; text-decoration: underline dotted;} /* Huisstijlfixes */ button.accordion__button {font-family:'Roboto Slab';} .accordion__title {font-family:'Roboto Slab';} /* override align-justify in text-elements (WCAG) */ .frame-type-text .align-justify , p.align-justify {text-align: initial;} /* Spotler form layout */ .mpFormTable, .mpFormTable table {width:100%;} .mpFormLabel {width:30%;} .mpFormField {width:70%;} .mpFormTable .sublabel {font-size: .7em; font-style: italic;} /* .submitCellSpacer {display:none;} */ .mpFormTable li {list-style: none;} .mpFormTable ul {padding-inline-start: 0;} .mpMultipleLabel {margin-left:10px;} /* aside column fix on mobiles */ @media only screen and (max-width: 1024px) { .u-flex {flex-direction: column;} .u-flex.js-contrastChanger {flex-direction: initial;} } /* .accordion padding */ .accordion .grid > * {padding-bottom: initial;} /* magazine styling .bg-white.magazine-navigation .magazine-navigation-logoLink.btn--icon::after {border: 1px solid #222;} .bg-black.magazine-navigation a {color: #fff;} .bg-transparent.magazine-navigation {background: linear-gradient(#fffb 10%, #00a6d675);} .bg-transparent.magazine-navigation .magazine-navigation-logoLink.btn--icon::after {border: 1px solid #00a6d6;} .bg-transparent.magazine-navigation a {color: #00a6d6;} @media only screen and (max-width: 25.2em) {.magazine-navigation {bottom: 7.5rem;}} .nav-overlay.nav-overlay-magazine.is-active {background-color: #0c2340e8; padding:4rem; left:15vw; right:15vw; top:10vh; bottom:20vh} */ /* show-for-xlarge on chrome */ @media screen and (min-width:79.9375em) and (max-width:80em) { .show-for-xlarge { display:initial !important; } } /* zwart font voor witte buttons */ .btn--white {color: #222;} @media print { .nav-bottom {display: none;} } /* border-radius dynamic-header blocks */ .dynamicHeader-block {border-radius: 3px;} /* border-radius fix for header */ .dynamicHeader-slideGradient {border-radius: initial;} /* icons on popup menu */ /* @media only screen and (max-width:350px) { .nav-overlay__container .frame-type-sitetud_socialmedialinks .list-inline { --column-amount: 4; display: grid; grid-template-columns: repeat(var( --column-amount), 0fr); grid-gap: 0; place-items: center; margin: 0; justify-content: center; padding-top: 3em; }} @media only screen and (min-width:350px) and (max-width: 450px){ .nav-overlay__container .frame-type-sitetud_socialmedialinks .list-inline { --column-amount: 6; display: grid; grid-template-columns: repeat(var( --column-amount), 0fr); grid-gap: 0; place-items: center; margin: 0; justify-content: center; padding-top: 3em; }} @media only screen and (min-width:450px){ .nav-overlay__container .frame-type-sitetud_socialmedialinks .list-inline { padding-top:3em; } } */ /* adjusting footernav on mobile */ @media only screen and (max-width:405px) { .nav-bottom .logo {width: 100%; position: relative; display: grid; justify-content: center; padding-bottom: 0.3em; border-right: initial;} .nav-bottom .logo.left { border-bottom: 1px solid #fff; } } .contrast .dynamicHeader-block--blue h3, .contrast .dynamicHeader-block--blue p, .contrast .dynamicHeader-block--blue p .linepix {color: #fff;} .contrast .dynamicHeader-block--blue {background-color : #0C2340; color:#fff;} /* WCAG fix footer */ .pageFooter p a {display: inline-block;} /* WCAG fix voor bullet navigation */ .contrast .content-slider__bullet, .contrast .slick-dots button { width: 24px; height: 24px; margin: 0 5px; } .contrast .content-slider__bullet--active {background-color:#505050} .contrast .content-slider__bullet--active:hover {background-color:#222} /* WCAG fix voor witte social buttons */ .contrast .frame-type-sitetud_socialmedialinks .btn--icon {filter: invert(1);} /* standing videos */ .standing .video { position: relative; width: 100%; max-width: 360px; /* Pas aan naar wens */ aspect-ratio: 9 / 16; } .standing .video iframe { position: absolute; width: 100%; height: 100%; } .btn--icon.i-twitter {display: none;} .btn--icon.i-linkedin {margin-left: 5px;} .sharing {margin-bottom: 1em;} /* cookienotice kleuren */ .cookieButtons .agree, .cookieButtons .disagree {background-color: #00a6d6;} .cookieButtons .agree:hover, .cookieButtons .disagree:hover, .cookieButtons .agree:focus, .cookieButtons .disagree:focus {background-color: #0C2340;} </style> <style> .profile a:not(.btn--icon) {color: #00a6d6;} .profile {color:#222;} /* alle contactblokken met 2 regels voor de naam */ .profile .box h3 {min-height:54.6px;} </style> <script type="text/javascript">var cookieNoticeConfig = cookieNoticeConfig || {};cookieNoticeConfig.flags = {};cookieNoticeConfig.flags.EXTERNAL = 3;cookieNoticeConfig.flags.ANALYTICAL = 50;cookieNoticeConfig.labels = {statement_short: 'This%20website%20uses%20cookies.%20By%20clicking%20%22accept%22%20you%20give%20your%20permission%20to%20this%20website%20to%20use%20cookies.',statement_detail: 'Delft%20University%20of%20Technology%20collects%20visitor%20information%20to%20optimize%20the%20website%2C%20thereby%20further%20improving%20its%20service%20provision.%20This%20information%20is%20not%20linked%20to%20individuals%20and%20cannot%20be%20used%20to%20for%20unsolicited%2Funwanted%20telemarketing%20or%20e-mails.%3Cbr%20%2F%3E%3Cbr%20%2F%3E%20Additionally%2C%20Delft%20University%20of%20Technology%20may%20use%20external%20content%20to%20enrich%20user%20experiences%3B%20this%20content%20may%20contain%20third%20party%20cookies%2C%20from%20f.e.%20social%20media%20platforms.%20Without%20your%20consent%2C%20we%20will%20obscure%20these%20features.',statement_expand: 'What%20are%20cookies%3F',agree: 'Accept',link_policy: 'More%20information%20regarding%20your%20privacy%20and%20cookies%20is%20available%20in%20our%20policy%20statement.',disagree: 'Deny'};cookieNoticeConfig.hitsBeforeImplicitConsent =-1;cookieNoticeConfig.cookiePolicyDetailPage = '/en/cookie-policy';cookieNoticeConfig.consentChangeCallbacks = [];cookieNoticeConfig.showDisagreeButton =true;cookieNoticeConfig.expiresInMonths =6;cookieNoticeConfig.defaultCookieLevel =1;cookieNoticeConfig.consentedCookieName = '__cookieNotice_consent';cookieNoticeConfig.hitCountCookieName = '__cookieNotice_hit';</script><script type="text/javascript">var tx_solr_suggestUrl = '/?eID=tx_solr_suggest&id=1';</script><script type="text/javascript"> (function () { if (document.cookie.indexOf("contrast") >= 0) { document.documentElement.className += " contrast"; } }());</script><link rel="apple-touch-icon" sizes="57x57" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="/typo3conf/ext/tud_styling/Resources/Public/img/apple-touch-icon-180x180.png"> <link rel="icon" type="image/png" href="/typo3conf/ext/tud_styling/Resources/Public/img/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/typo3conf/ext/tud_styling/Resources/Public/img/android-chrome-192x192.png" sizes="192x192"> <link rel="icon" type="image/png" href="/typo3conf/ext/tud_styling/Resources/Public/img/favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="/typo3conf/ext/tud_styling/Resources/Public/img/favicon-16x16.png" sizes="16x16"> <link rel="manifest" href="/typo3conf/ext/tud_styling/Resources/Public/img/manifest.json"> <link rel="mask-icon" href="/typo3conf/ext/tud_styling/Resources/Public/img/safari-pinned-tab.svg" color="#5bbad5"> <link rel="shortcut icon" href="/typo3conf/ext/tud_styling/Resources/Public/img/favicon.ico"> <meta name="msapplication-TileColor" content="#2d89ef"> <meta name="msapplication-TileImage" content="/typo3conf/ext/tud_styling/Resources/Public/img/mstile-144x144.png"> <meta name="msapplication-config" content="/typo3conf/ext/tud_styling/Resources/Public/img/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> <link rel="canonical" href="https://www.tudelft.nl/en/"/> <link rel="alternate" hreflang="nl-NL" href="https://www.tudelft.nl/"/> <link rel="alternate" hreflang="en-US" href="https://www.tudelft.nl/en/"/> <link rel="alternate" hreflang="x-default" href="https://www.tudelft.nl/"/> <!-- This site is optimized with the Yoast SEO for TYPO3 plugin - https://yoast.com/typo3-extensions-seo/ --> <script type="application/ld+json">[{"@context":"https:\/\/www.schema.org","@type":"WebSite","url":"https:\/\/www.tudelft.nl","name":"Delft University of Technology | TU Delft | Challenge. Change. Impact!"},{"@context":"https:\/\/www.schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.tudelft.nl\/en\/","name":"Delft University of Technology"}}]}]</script> </head> <body class="page-1"> <script type="text/javascript"> /*<![CDATA[*/ cookieNoticeConfig.consentChangeCallbacks.push({ type: cookieNoticeConfig.flags.ANALYTICAL, callback: function () { (function() { var sz = document.createElement('script'); sz.type = 'text/javascript'; sz.async = true; sz.src = '//siteimproveanalytics.com/js/siteanalyze_6005654.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sz, s); })(); } }); /*]]>*/ </script><script id="powermail_conditions_container" data-condition-uri="https://www.tudelft.nl/en/?type=3132"></script><style> .card--no_image.card--red,.btn--ghost.btn--red:hover, .highlight--vertical .highlight--red, .highlight--red::after, .hoverableBlock--red::after,[class*="--red"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--red, .content-slider--red, .card--red, .accordion__title--red, .nav-inpage--red) {background-color: #E03C31;} .card--no_image.card--green, .btn--ghost.btn--green:hover, .highlight--vertical .highlight--green, .highlight--green::after, .hoverableBlock--green::after,[class*="--green"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--green, .content-slider--green, .card--green, .accordion__title--green, .nav-inpage--green ) {background-color: #6CC24A;} .card--no_image.card--blue_dark,.btn--ghost.btn--blue_dark:hover, .highlight--vertical .highlight--blue_dark, .highlight--blue_dark::after, .hoverableBlock--blue_dark::after,[class*="--blue_dark"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--blue_dark, .content-slider--blue_dark, .card--blue_dark, .accordion__title--blue_dark, .nav-inpage--blue_dark) {background-color: #0C2340;} .card--no_image.card--yellow, .btn--ghost.btn--yellow:hover, .highlight--vertical .highlight--yellow, .highlight--yellow::after, .hoverableBlock--yellow::after,[class*="--yellow"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--yellow, .content-slider--yellow, .card--yellow, .accordion__title--yellow, .nav-inpage--yellow) {background-color: #FFB81C;} .card--no_image.card--orange, .btn--ghost.btn--orange:hover, .highlight--vertical .highlight--orange, .highlight--orange::after, .hoverableBlock--orange::after,[class*="--orange"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--orange, .content-slider--orange, .card--orange, .accordion__title--orange, .nav-inpage--orange), .btn:not(.btn--ghost).btn--orange {background-color: #EC6842;} .card--no_image.card--purple, .btn--ghost.btn--purple:hover, .highlight--vertical .highlight--purple, .highlight--purple::after, .hoverableBlock--purple::after,[class*="--purple"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--purple, , .content-slider--purple, .card--purple, .accordion__title--purple, .nav-inpage--purple) {background-color: #6F1D77;} .card--no_image.card--purple_light, .btn--ghost.btn--purple_light:hover, .highlight--vertical .highlight--purple_light, .highlight--purple_light::after, .hoverableBlock--purple_light::after, [class*="--purple_light"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--purple_light, .content-slider--purple_light, .card--purple_light, .accordion__title--purple_light, .nav-inpage--purple_light) {background-color: #6F1D77;} .card--no_image.card--pink, .btn--ghost.btn--pink:hover, .highlight--vertical .highlight--pink, .highlight--pink::after, .hoverableBlock--pink::after, [class*="--pink"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--pink, .content-slider--pink, .card--pink, .accordion__title--pink, .nav-inpage--pink ) {background-color: #EF60A3;} .card--no_image.card--teal, .btn--ghost.btn--teal:hover, .highlight--vertical .highlight--teal, .highlight--teal::after, .hoverableBlock--teal::after, [class*="--teal"]:not([class*="dynamicHeader"], [class*="searchForm"], [class*="hoverableBlock"], [class*="highlight"], .btn--ghost, .btn:hover, .moreLink, .nav-inpage, .ce-div, .navColored--teal, .content-slider--teal, .card--teal, .accordion__title--teal, .nav-inpage--teal) {background-color: #00B8C8;} .btn:not(.btn--ghost).btn--orange:hover {background-color: #222;} .btn--ghost.btn--red, .notice--red .btn:not(.btn--ghost), .fact [class*="-red"] {color:#E03C31;} .btn--ghost.btn--green, .notice--green .btn:not(.btn--ghost), .fact [class*="-green"] {color:#6CC24A;} .btn--ghost.btn--blue_dark, .notice--blue_dark .btn:not(.btn--ghost), .fact [class*="-blue_dark"] {color:#0C2340;} .btn--ghost.btn--yellow, .notice--yellow .btn:not(.btn--ghost), .fact [class*="-yellow"] {color:#FFB81C;} .btn--ghost.btn--orange, .notice--orange .btn:not(.btn--ghost), .fact [class*="-orange"] {color:#EC6842;} .btn--ghost.btn--purple, .notice--purple .btn:not(.btn--ghost), .fact [class*="-purple"] {color:#6F1D77;} .btn--ghost.btn--purple_light, .notice--purple_light .btn:not(.btn--ghost), .fact [class*="-purple_light"] {color:#6F1D77;} .btn--ghost.btn--pink, .notice--pink .btn:not(.btn--ghost), .fact [class*="-pink"] {color:#EF60A3;} .btn--ghost.btn--teal, .notice--teal .btn:not(.btn--ghost), .fact [class*="-teal"] {color:#00B8C8;} .dynamicHeader-block--red {background-color: rgba(224, 60, 49, var(--block-opacity))} .dynamicHeader-block--green {background-color: rgba(108, 194, 74, var(--block-opacity))} .dynamicHeader-block--blue_dark {background-color: rgba(12, 35, 64, var(--block-opacity))} .dynamicHeader-block--yellow {background-color: rgba(255, 184, 28, var(--block-opacity))} .dynamicHeader-block--orange {background-color: rgba(237, 104, 66, var(--block-opacity))} .dynamicHeader-block--purple {background-color: rgba(111, 29, 119, var(--block-opacity))} .dynamicHeader-block--purple_light {background-color: rgba(111, 29, 119, var(--block-opacity))} .dynamicHeader-block--pink {background-color: rgba(239, 96, 163, var(--block-opacity))} .dynamicHeader-block--teal {background-color: rgba(0, 184, 200, var(--block-opacity))} .card--red h3 {color:#E03C31;} .card--red.card--horizontalTiny .card__content::after, .card--red::after, .card--red.card--no_image[href]::after {background-color:#E03C31;} .card--green h3 {color:#6CC24A;} .card--green.card--horizontalTiny .card__content::after, .card--green::after, .card--green.card--no_image[href]::after {background-color:#6CC24A;} .card--blue_dark h3 {color:#0C2340;} .card--blue_dark.card--horizontalTiny .card__content::after, .card--blue_dark::after, .card--blue_dark.card--no_image[href]::after {background-color:#0C2340;} .card--yellow h3 {color:#FFB81C;} .card--yellow.card--horizontalTiny .card__content::after, .card--yellow::after, .card--yellow.card--no_image[href]::after {background-color:#FFB81C;} .card--orange h3 {color:#EC6842;} .card--orange.card--horizontalTiny .card__content::after, .card--orange::after, .card--orange.card--no_image[href]::after {background-color:#EC6842;} .card--purple h3 {color:#6F1D77;} .card--purple.card--horizontalTiny .card__content::after, .card--purple::after, .card--purple.card--no_image[href]::after {background-color:#6F1D77;} .card--purple_light h3 {color:#6F1D77;} .card--purple_light.card--horizontalTiny .card__content::after, .card--purple_light::after, .card--purple_light.card--no_image[href]::after {background-color:#6F1D77;} .card--pink h3 {color:#EF60A3;} .card--pink.card--horizontalTiny .card__content::after, .card--pink::after, .card--pink.card--no_image[href]::after {background-color:#EF60A3;} .card--teal h3 {color:#00B8C8;} .card--teal.card--horizontalTiny .card__content::after, .card--teal::after, .card--teal.card--no_image[href]::after {background-color:#00B8C8;} .divider--red, .nav-inpage.nav-inpage--red {border-color:#E03C31;} .divider--green, .nav-inpage.nav-inpage--green {border-color:#6CC24A;} .divider--blue_dark, .nav-inpage.nav-inpage--blue_dark {border-color:#0C2340;} .divider--yellow, .nav-inpage.nav-inpage--yellow {border-color:#FFB81C;} .divider--orange, .nav-inpage.nav-inpage--orange {border-color:#EC6842;} .divider--purple_light, .nav-inpage.nav-inpage--purple_light {border-color:#6F1D77;} .divider--purple, .nav-inpage.nav-inpage--purple {border-color:#6F1D77;} .divider--pink, .nav-inpage.nav-inpage--pink {border-color:#EF60A3;} .divider--teal, .nav-inpage.nav-inpage--teal {border-color:#00B8C8;} .tab--blue_dark a {color: white;} </style> <script> document.addEventListener("DOMContentLoaded", function() { // Voeg alleen de styles toe als ze nog niet bestaan if (!document.getElementById("hamburger-styles")) { const style = document.createElement('style'); style.id = "hamburger-styles"; style.textContent = ` .i-more.hamburger { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; } .i-more.hamburger::before { content: none; } .i-more.hamburger .line { width: 17px; height: 1px; background-color: white; } `; document.head.append(style); } function updateAriaExpanded(button) { const targetSelector = button.dataset.target; if (!targetSelector) return; const targetElement = document.querySelector(targetSelector); if (!targetElement) return; const isExpanded = targetElement.classList.contains("is-active"); button.setAttribute("aria-expanded", isExpanded ? "true" : "false"); } function processButton(button) { if (button.classList.contains("hamburger")) return; button.classList.add("hamburger"); button.setAttribute("aria-label", "Menu"); button.setAttribute("aria-expanded", "false"); // Voeg de lijnen toe als ze nog niet bestaan if (button.querySelectorAll('.line').length === 0) { for (let i = 0; i < 3; i++) { const line = document.createElement('div'); line.classList.add('line'); button.appendChild(line); } } button.addEventListener("click", function() { updateAriaExpanded(button); }); // Observer voor de bijbehorende .nav-overlay const targetSelector = button.dataset.target; if (targetSelector) { const targetElement = document.querySelector(targetSelector); if (targetElement) { const observer = new MutationObserver(() => updateAriaExpanded(button)); observer.observe(targetElement, { attributes: true, attributeFilter: ["class"] }); } } } // Verwerk alle bestaande knoppen document.querySelectorAll(".i-more").forEach(processButton); // MutationObserver voor dynamische toevoegingen van .i-more knoppen const observer = new MutationObserver(() => { document.querySelectorAll(".i-more").forEach(processButton); }); observer.observe(document.body, { childList: true, subtree: true }); }); </script> <a href="#" class="skiplink btn btn--single align-center btn--grey_dark u-flex js-contrastChanger"> <svg role="presentation" class="icon-contrast"> <use xlink:href="/typo3conf/ext/tud_styling/Resources/Public/img/contrast-icon.svg#contrast-icon"></use> </svg> <span class="js-contrastChanger-label" data-highcontrasttext="Activate high contrast" data-normalcontrasttext="Activate normal contrast"> Activate high contrast </span> </a> <a href="#main" class="skiplink btn btn--single align-center btn--grey_dark"> To main content </a> <!-- Add logo as early as possible in HTML so placeholder renders correctly --> <svg class="hidden" xmlns="http://www.w3.org/2000/svg"> <symbol id="logo" viewBox="0 0 105 41"> <path fill="currentColor" fill-rule="evenodd" d="M30.5 36.73c2.62 0 4.03-1.74 4.03-4.18V20.12h5.56v12.71c-.06 5.6-4.53 7.8-9.59 7.8-5.05 0-9.53-2.2-9.58-7.8v-12.7h5.55v12.42c0 2.44 1.42 4.18 4.03 4.18M77.18 33.73v-1.31c0-3.87-2.2-6.6-6.15-6.6-4.41 0-6.47 3.42-6.47 7.52 0 4.12 1.78 7.29 6.25 7.29 3.34 0 5.78-1.59 6.2-4.76h-2.78c-.3 2.03-1.33 2.84-3.39 2.84-2.7 0-3.59-2.4-3.59-4.98h9.93zm-9.87-1.84c.02-2.18 1.34-4.15 3.53-4.15 2.55 0 3.55 1.76 3.55 4.15h-7.08zM80.37 20.12h2.65v20.1h-2.65v-20.1zM6.53 40.21h5.55V24.02h6.22v-3.9H.3v3.9h6.23v16.2M19.87 10.34c-1.35.42-2.75.08-2.75-1.73 0-2.77 6.49-5.09 7.4-7.5.21-.61.23-1.1-.06-1.1-.2.02-.04.32-.5.78-2.69 2.69-7.19 2.68-10.65 4.24-2.26 1.02-8.9 4.15-7.37 11.13.07.33.27 1.44.47 1.44.24 0 .23-.66.23-1.46-.05-4.16 4.86-5.32 6.46-8.04.2-.32.52-.77.6-.56.04.1.01.25-.05.54-.5 2.23-2.83 3.66-2.17 5.26.85 2.07 3.32.53 4.08-.8.2-.37.32-.6.46-.56.1.04.1.46.03.84-.4 2.4-.96 3.75-2.71 5.12-.56.43-1.44.52-1.33.86.03.09.41.08.71.05 4.68-.3 8.59-5.82 9.62-9.43.11-.25.14-.5.03-.58-.14-.1-.35.14-.56.33-.53.47-1.26.96-1.94 1.17M91.29 40.21V28.08h3.22v-1.84h-3.22V24c0-1.62.78-1.9 2.28-1.9.44 0 .89.06 1.33.09v-2.2a8.59 8.59 0 00-1.89-.28c-2.5 0-4.36 1.26-4.36 3.93v2.61h-2.72v1.84h2.72v12.13h2.64M96.03 26.24v1.84h2.38v8.9c0 1.86.03 3.65 3.95 3.65.61 0 1.18-.06 1.8-.17v-2.03c-.42.1-.96.17-1.38.17-.95 0-1.72-.48-1.72-1.48v-9.04h3.22v-1.84h-3.22v-3.8l-2.65.83v2.98h-2.38M48.43 22.51h4.1c4.64 0 6.56 3.5 6.56 7.66 0 4.15-1.92 7.65-6.56 7.65h-4.1v-15.3zm-2.79 17.7h6.9c8.57 0 9.47-7.27 9.47-10.04 0-2.77-.9-10.05-9.48-10.05h-6.89v20.1z"/> </symbol> </svg> <nav class="bg-blue nav-top"> <div class="container no-spacing"> <a class="logo left" href="/en/"> <svg focusable="false" class="logo-tudelft--top" role="img"> <use xlink:href="#logo"></use> </svg> <span class="text-hide">Home of TU Delft</span> </a> <div class="right"> <div class="nav-main"> <ul><li class="nav-main__mainitem" data-priority="0"><a href="/en/education">Students & Education</a><ul class="nav-main__submenu"><li><a href="/en/education/programmes">Programmes</a></li><li><a href="/en/education/admission-and-application">Admission and Application</a></li><li><a href="/en/education/study-programme-orientation">Study Programme Orientation</a></li><li><a href="/en/student">Student portal</a></li><li><a href="/en/learningforlife">Lifelong Learning</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/research">Research</a><ul class="nav-main__submenu"><li><a href="/en/research/societal-challenges">Societal challenges</a></li><li><a href="/en/research/faculties-and-institutes">Faculties and institutes</a></li><li><a href="/en/research/research-facilities">Research facilities</a></li><li><a href="/en/stories">Stories</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/innovation-impact">Innovation & Impact</a><ul class="nav-main__submenu"><li><a href="/en/innovation-impact/business-collaboration">Business collaboration</a></li><li><a href="/en/innovation-impact/pioneering-tech">Pioneering Tech</a></li><li><a href="/en/innovation-impact/project-cases">Project Cases</a></li><li><a href="/en/innovation-impact/entrepreneurship">Getting started in business</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/community">Community</a><ul class="nav-main__submenu"><li><a href="/en/community/campus-life">Campus Life</a></li><li><a href="/en/community/alumni">Alumni</a></li><li><a href="/en/about-tu-delft/calendar">Events</a></li><li><a href="/en/community/social-safety">Social safety</a></li><li><a href="/en/sciencecentre">Science Centre</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/about-tu-delft">About TU Delft</a><ul class="nav-main__submenu"><li><a href="/en/about-tu-delft/find-employees">Find employees</a></li><li><a href="/en/about-tu-delft/contact">Contact</a></li><li><a href="/en/about-tu-delft/current">Current</a></li><li><a href="/en/about-tu-delft/calendar">Calendar</a></li><li><a href="/en/library">Library</a></li><li><a href="/en/about-tu-delft/working-at-tu-delft">Jobs</a></li><li><a href="/en/about-tu-delft/organisation">Organisation</a></li><li><a href="/en/about-tu-delft/strategy">Strategy</a></li><li><a href="/en/delft-university-fund">University Fund</a></li></ul></li></ul> <a href="/" title="Schakel over naar de Nederlandse taal" class="btn--icon btn--languageSwitch" lang="nl"> <div class="icon-languageSwitch icon-languageSwitch--en"></div> </a> <button data-target=".nav-search" class="button-reset btn--icon i-search js-modal"> <span class="text-hide">Search</span> </button> </div> </div> </div> </nav> <nav class="nav-overlay"> <div class="container no-spacing"> <ul class="list-reset nav-overlay__container"><li id="nav-overlay__mainitem--609" data-priority="0"> <div class="nav-overlay__mainitem row"> <div class="sm-12"><a href="/en/education">Students & Education</a> <a href="#" data-altlabel="Menu sluiten" class="nav-overlay__toggle"> Menu openen </a> </div> </div><ul class="list-reset row nav-overlay__subitemcontainer"><li class="sm-12"><a href="/en/education/programmes" id="nav-overlay__subitem--6807" class="nav-overlay__subitem">Programmes</a></li><li class="sm-12"><a href="/en/education/admission-and-application" id="nav-overlay__subitem--6810" class="nav-overlay__subitem">Admission and Application</a></li><li class="sm-12"><a href="/en/education/study-programme-orientation" id="nav-overlay__subitem--6808" class="nav-overlay__subitem">Study Programme Orientation</a></li><li class="sm-12"><a href="/en/student" id="nav-overlay__subitem--193142" class="nav-overlay__subitem">Student portal</a></li><li class="sm-12"><a href="/en/learningforlife" id="nav-overlay__subitem--193144" class="nav-overlay__subitem">Lifelong Learning</a></li></ul></li><li id="nav-overlay__mainitem--610" data-priority="0"> <div class="nav-overlay__mainitem row"> <div class="sm-12"><a href="/en/research">Research</a> <a href="#" data-altlabel="Menu sluiten" class="nav-overlay__toggle"> Menu openen </a> </div> </div><ul class="list-reset row nav-overlay__subitemcontainer"><li class="sm-12"><a href="/en/research/societal-challenges" id="nav-overlay__subitem--156953" class="nav-overlay__subitem">Societal challenges</a></li><li class="sm-12"><a href="/en/research/faculties-and-institutes" id="nav-overlay__subitem--1108" class="nav-overlay__subitem">Faculties and institutes</a></li><li class="sm-12"><a href="/en/research/research-facilities" id="nav-overlay__subitem--1110" class="nav-overlay__subitem">Research facilities</a></li><li class="sm-12"><a href="/en/stories" id="nav-overlay__subitem--193154" class="nav-overlay__subitem">Stories</a></li></ul></li><li id="nav-overlay__mainitem--611" data-priority="0"> <div class="nav-overlay__mainitem row"> <div class="sm-12"><a href="/en/innovation-impact">Innovation & Impact</a> <a href="#" data-altlabel="Menu sluiten" class="nav-overlay__toggle"> Menu openen </a> </div> </div><ul class="list-reset row nav-overlay__subitemcontainer"><li class="sm-12"><a href="/en/innovation-impact/business-collaboration" id="nav-overlay__subitem--175867" class="nav-overlay__subitem">Business collaboration</a></li><li class="sm-12"><a href="/en/innovation-impact/pioneering-tech" id="nav-overlay__subitem--157886" class="nav-overlay__subitem">Pioneering Tech</a></li><li class="sm-12"><a href="/en/innovation-impact/project-cases" id="nav-overlay__subitem--31839" class="nav-overlay__subitem">Project Cases</a></li><li class="sm-12"><a href="/en/innovation-impact/entrepreneurship" id="nav-overlay__subitem--11091" class="nav-overlay__subitem">Getting started in business</a></li></ul></li><li id="nav-overlay__mainitem--193146" data-priority="0"> <div class="nav-overlay__mainitem row"> <div class="sm-12"><a href="/en/community">Community</a> <a href="#" data-altlabel="Menu sluiten" class="nav-overlay__toggle"> Menu openen </a> </div> </div><ul class="list-reset row nav-overlay__subitemcontainer"><li class="sm-12"><a href="/en/community/campus-life" id="nav-overlay__subitem--152343" class="nav-overlay__subitem">Campus Life</a></li><li class="sm-12"><a href="/en/community/alumni" id="nav-overlay__subitem--5342" class="nav-overlay__subitem">Alumni</a></li><li class="sm-12"><a href="/en/about-tu-delft/calendar" id="nav-overlay__subitem--193156" class="nav-overlay__subitem">Events</a></li><li class="sm-12"><a href="/en/community/social-safety" id="nav-overlay__subitem--193534" class="nav-overlay__subitem">Social safety</a></li><li class="sm-12"><a href="/en/sciencecentre" id="nav-overlay__subitem--196279" class="nav-overlay__subitem">Science Centre</a></li></ul></li><li id="nav-overlay__mainitem--617" data-priority="0"> <div class="nav-overlay__mainitem row"> <div class="sm-12"><a href="/en/about-tu-delft">About TU Delft</a> <a href="#" data-altlabel="Menu sluiten" class="nav-overlay__toggle"> Menu openen </a> </div> </div><ul class="list-reset row nav-overlay__subitemcontainer"><li class="sm-12"><a href="/en/about-tu-delft/find-employees" id="nav-overlay__subitem--5344" class="nav-overlay__subitem">Find employees</a></li><li class="sm-12"><a href="/en/about-tu-delft/contact" id="nav-overlay__subitem--4077" class="nav-overlay__subitem">Contact</a></li><li class="sm-12"><a href="/en/about-tu-delft/current" id="nav-overlay__subitem--612" class="nav-overlay__subitem">Current</a></li><li class="sm-12"><a href="/en/about-tu-delft/calendar" id="nav-overlay__subitem--5496" class="nav-overlay__subitem">Calendar</a></li><li class="sm-12"><a href="/en/library" id="nav-overlay__subitem--193158" class="nav-overlay__subitem">Library</a></li><li class="sm-12"><a href="/en/about-tu-delft/working-at-tu-delft" id="nav-overlay__subitem--5343" class="nav-overlay__subitem">Jobs</a></li><li class="sm-12"><a href="/en/about-tu-delft/organisation" id="nav-overlay__subitem--5339" class="nav-overlay__subitem">Organisation</a></li><li class="sm-12"><a href="/en/about-tu-delft/strategy" id="nav-overlay__subitem--14831" class="nav-overlay__subitem">Strategy</a></li><li class="sm-12"><a href="/en/delft-university-fund" id="nav-overlay__subitem--23849" class="nav-overlay__subitem">University Fund</a></li></ul></li><li> <div class="t3ce frame-type-sitetud_socialmedialinks "> <h3 class="text-hide">socmed</h3> <ul class="list-inline"> <li> <a href="https://www.facebook.com/tudelft" target="_blank" class="btn--icon i-facebook" rel="noreferrer"> <span class="text-hide"> facebook </span> </a> </li> <li> <a href="https://www.instagram.com/tudelft/?hl=en" target="_blank" class="btn--icon i-instagram" rel="noreferrer"> <span class="text-hide"> instagram </span> </a> </li> <li> <a href="https://www.youtube.com/user/tudelft" target="_blank" class="btn--icon i-youtube" rel="noreferrer"> <span class="text-hide"> youtube </span> </a> </li> <li> <a href="https://www.linkedin.com/edu/delft-university-of-technology-15445" target="_blank" class="btn--icon i-linkedin" rel="noreferrer"> <span class="text-hide"> linkedin </span> </a> </li> <li> <a href="https://api.whatsapp.com/send?phone=3197010256278" target="_blank" class="btn--icon i-whatsapp hide-for-xxlarge" rel="noreferrer"> <span class="text-hide">whatsapp</span> </a> <a href="https://wa.me/+3197010256278" title="Start Whatsapp Conversation" target="_blank" class="btn--icon i-whatsapp show-for-xxlarge" rel="noreferrer"> <span class="text-hide">whatsapp</span> </a> </li> </ul> </div> </li></ul> <div class='language-switch'><a href="/" title="Nederlands" lang="nl">Nederlands</a></div> <ul class="list-inline"> <li> <a href="/en/cookie-policy" title="Cookie settings" class="cookieButton btn--icon"> <svg viewBox="14 13 36 44" class="cookieButton-icon"> <circle cx="35.709" cy="22.973" fill="currentColor" r="2"/> <circle cx="41.875" cy="29.417" fill="currentColor" r="2"/> <circle cx="31.709" cy="31.417" fill="currentColor" r="2"/> <circle cx="24.001" cy="37.25" fill="currentColor" r="2"/> <circle cx="32" cy="42.292" fill="currentColor" r="2"/> <circle cx="38.875" cy="37.25" fill="currentColor" r="2"/> <path d="M32 50c-9.925 0-18-8.075-18-18 0-.505.034-1.001.074-1.494a1 1 0 0 1 1.269-.882c3.594 1.016 7.107-1.47 7.578-4.963a1 1 0 0 1 .858-.857 5.948 5.948 0 0 0 3.438-1.705 5.958 5.958 0 0 0 1.756-4.241c0-.78-.15-1.542-.447-2.266a1.002 1.002 0 0 1 .776-1.369A17.78 17.78 0 0 1 32 14c9.925 0 18 8.075 18 18s-8.075 18-18 18zM16.002 31.795A14.01 14.01 0 0 0 16 32c0 8.822 7.178 16 16 16s16-7.178 16-16-7.178-16-16-16c-.396 0-.801.019-1.233.058a7.91 7.91 0 0 1 .206 1.799 7.941 7.941 0 0 1-2.342 5.656 7.914 7.914 0 0 1-3.86 2.143c-.899 3.891-4.672 6.653-8.769 6.139z" fill="currentColor"/> </svg> </a> </li> <li> <button class="button-reset btn--icon btn-contrast js-contrastChanger" title="Contrast settings"> <span class="js-contrastChanger-label text-hide" data-highcontrasttext="Activate high contrast" data-normalcontrasttext="Activate normal contrast"> Activate high contrast </span> <svg role="presentation" class="icon-contrast"> <use xlink:href="/typo3conf/ext/tud_styling/Resources/Public/img/contrast-icon.svg#contrast-icon"></use> </svg> </button> </li> </ul> <button class='menu menu--close button-reset js-toggle' data-target='.nav-overlay'> <span class='i-close'> <span class='text-hide'> Close menu </span> </span> </button> </div> </nav> <div class="modal"> <div class="modal__content"> <form action="/en/search" method="get" class="nav-search"> <input type="search" name="q" id="headerSearchForm-input" value="" class="autocomplete-inputField" autocomplete="off" aria-label="Search"> <button class="button-reset i-search"> <span class="text-hide">Search</span> </button> </form> </div> <button data-target="this.parent" class="menu menu--close button-reset js-modal-close"> <span class="i-close"> <span class="text-hide">Close search</span> </span> </button> </div> <div id=c1148497 class="t3ce frame-type-sitetud_dynamicheader "> <div id="dynamicHeader-c1148497" class="dynamicHeader js-dynamicHeader" data-slick-previous="Go to previous item" data-slick-next="Go to next item"> <div class="dynamicHeader-slide"> <picture> <source media="(max-width: 600px)" type="image/webp" srcset="https://filelist.tudelft.nl/TUDelft/Homepage/Header%202025/Kunstwerk_BeeldenAanZee-ezgif.com-video-to-webp-converter.webp" /> <source media="(max-width: 1024px)" type="image/webp" srcset="https://filelist.tudelft.nl/TUDelft/Homepage/Header%202025/Kunstwerk_BeeldenAanZee-ezgif.com-video-to-webp-converter.webp" /> <source media="(max-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/TUDelft/Homepage/Header%202025/Kunstwerk_BeeldenAanZee-ezgif.com-video-to-webp-converter.webp" /> <source media="(min-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/TUDelft/Homepage/Header%202025/Kunstwerk_BeeldenAanZee-ezgif.com-video-to-webp-converter.webp" /> <img fetchpriority="high" class="dynamicHeader-slideImage" style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Header%202025/Kunstwerk_BeeldenAanZee-ezgif.com-video-to-webp-converter.webp" width="640" height="360" alt="" /> </picture> <div class="dynamicHeader-slideGradient" style="height: 75%;"></div> <div class="dynamicHeader-slideContainer dynamicHeader-slideContainer--left"> <div class="dynamicHeader-slideContent"> <a href="/en/2025/tu-delft/tu-delft-science-brought-to-life-in-spectacular-artwork-at-beelden-aan-zee-museum" class="dynamicHeader-slideLink"> <span class="dynamicHeader-slideSubtitle inlineTag">Art and science</span> <h1 class="dynamicHeader-slideTitle">TU Delft science brought to life in spectacular artwork</h1> </a> <span class="dynamicHeader-slideProgressBar dynamicHeader-slideProgressBar--"> <span class="dynamicHeader-slideProgress dynamicHeader-slideProgress--active"></span> </span> <div class="dynamicHeader-slideAdditionalTitles"> </div> </div> <div class="dynamicHeader-slideBlocks dynamicHeader-slideBlocks--single "> <style> .dynamicHeader-block--539.dynamicHeader-block { --block-opacity: 1.00; } </style> <div class="dynamicHeader-block--539 dynamicHeader-block dynamicHeader-block--blue dynamicHeader-block--center "> <div class="dynamicHeader-blockText "> <h2 class="h3">Would you like to visit our campus?</h2> <p>Do the VisiTUs do-it-yourself Campus Tour!</p> <p><a href="https://www.tudelft.nl/en/education/study-programme-orientation/preparing-for-a-bachelor/bsc-campus-tours/visitus-campus-tour" target="_blank" class="dynamicHeader-blockButton btn btn--white" style="color:#2c3e50;">VisiTUs Campus Tour </a></p> <h3>Programmes</h3><div class="divpix"><p><a href="/en/education/programmes/bachelors" class="linepix">Bachelor programmes</a><br> <a href="/en/education/programmes/masters" class="linepix">Master programmes</a></p></div> </div> </div> </div> </div> </div> </div> </div> <style>.divpix { display: inline-block; min-height: 28px; min-width: 100%; } .divpix .linepix { display: inline-block; min-height: 28px; } .contrast .dynamicHeader-slideLink { background-color: #000d; border-radius: 3px; padding-left: 5px; } .contrast .dynamicHeader-slideTitle, .contrast .dynamicHeader-slideDescription { color: white; } .contrast .dynamicHeader-block--blue .dynamicHeader-blockText h2, .contrast .dynamicHeader-block--blue .dynamicHeader-blockText h3, .contrast .dynamicHeader-block--blue .dynamicHeader-blockText p {color: white !important;}</style> <main id="main" class="mainWithOffset__full-width"> <div class="container"> <!--TYPO3SEARCH_begin--> <div id=c988554 class="t3ce frame-type-text frame-space-before-40 frame-space-after-50 "> <a id="c1002911" class="localized-uid"></a> <h2 class="ce-headline-center "> Impact for a better society </h2> </div> <div id=c988566 class="t3ce frame-type-gridelements_pi1 element-layout-fullScreenWidth-contentFullWidth "> <a id="c1002913" class="localized-uid"></a> <div class=" "> <div class="row grid grid--noPaddingBottom layout-1571045214"> <div class="sm-12"> <div id=c988573 class="t3ce frame-type-sitetud_carousel frame-type-sitetud_carousel--full "> <a id="c1002912" class="localized-uid"></a> <h2 class="show-for-sr">Carousel Impact for a better society</h2> <div class="js-sliderCentered sliderCentered sliderCentered--multiple js-sliderCentered-multiple" data-slick-previous="Go to previous item" data-slick-next="Go to next item"> <div class="slick-slide"> <a href="/en/2025/university-fund/tech-for-impact-support-technology-driving-the-world-forward" class="sliderCentered-item sliderCentered-item--link sliderCentered-item--gradient placeholder placeholder--blue"> <picture> <source media="(max-width: 600px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/d/f/csm_homepage-carrousel-techforimpact_03f1785a23.webp" /> <source media="(max-width: 1024px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/d/f/csm_homepage-carrousel-techforimpact_c1fdc4d1d0.webp" /> <source media="(max-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/d/f/csm_homepage-carrousel-techforimpact_c6d23ce7b5.webp" /> <source media="(min-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/d/f/csm_homepage-carrousel-techforimpact_980e6dcb0a.webp" /> <img loading="lazy" class="placeholder-image" src="https://filelist.tudelft.nl/_processed_/d/f/csm_homepage-carrousel-techforimpact_aabff665ab.jpg" width="610" height="640" alt="" /> </picture> <!--TYPO3SEARCH_begin--> <div class="sliderCentered-itemInner"> <h2 class="sliderCentered-itemHeading color-white">Technology driving the world forward</h2> <p class="sliderCentered-itemDescription">Tech for impact | Impactful research projects</p> <div class="sliderCentered-itemLink btn btn--single align-center btn--blue"> Read more </div> </div> <!--TYPO3SEARCH_end--> </a> </div> <div class="slick-slide"> <a href="/en/2025/citg/empathy-as-key-to-success-in-complex-civil-engineering-projects" class="sliderCentered-item sliderCentered-item--link sliderCentered-item--gradient placeholder placeholder--blue"> <picture> <source media="(max-width: 600px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/1/csm_homepage-carrousel-citgnws_909d9db63b.webp" /> <source media="(max-width: 1024px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/1/csm_homepage-carrousel-citgnws_0c85014e0d.webp" /> <source media="(max-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/1/csm_homepage-carrousel-citgnws_b0bc60f89f.webp" /> <source media="(min-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/1/csm_homepage-carrousel-citgnws_8e27f2d087.webp" /> <img loading="lazy" class="placeholder-image" src="https://filelist.tudelft.nl/_processed_/2/1/csm_homepage-carrousel-citgnws_0ca84339a2.jpg" width="610" height="640" alt="" /> </picture> <!--TYPO3SEARCH_begin--> <div class="sliderCentered-itemInner"> <h2 class="sliderCentered-itemHeading color-white">Empathy as key to success in complex civil engineering projects</h2> <p class="sliderCentered-itemDescription">Civil engineering | Connecting, listening and knowing each other's interests</p> <div class="sliderCentered-itemLink btn btn--single align-center btn--blue"> Read more </div> </div> <!--TYPO3SEARCH_end--> </a> </div> <div class="slick-slide"> <a href="/en/2025/me/news/improving-recyclability-of-polymers-machine-learning-helps-finding-needle-in-haystack" class="sliderCentered-item sliderCentered-item--link sliderCentered-item--gradient placeholder placeholder--blue"> <picture> <source media="(max-width: 600px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/0/8/csm_homepage-carrousel-me1_373044e37a.webp" /> <source media="(max-width: 1024px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/0/8/csm_homepage-carrousel-me1_6e662b9703.webp" /> <source media="(max-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/0/8/csm_homepage-carrousel-me1_d93c5ed7e3.webp" /> <source media="(min-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/0/8/csm_homepage-carrousel-me1_a985678c2a.webp" /> <img loading="lazy" class="placeholder-image" src="https://filelist.tudelft.nl/_processed_/0/8/csm_homepage-carrousel-me1_bcf77745a6.jpg" width="610" height="640" alt="" /> </picture> <!--TYPO3SEARCH_begin--> <div class="sliderCentered-itemInner"> <h2 class="sliderCentered-itemHeading color-white">Improving recyclability of polymers</h2> <p class="sliderCentered-itemDescription">Circular economy | Machine learning helps finding needle in haystack</p> <div class="sliderCentered-itemLink btn btn--single align-center btn--blue"> Read more </div> </div> <!--TYPO3SEARCH_end--> </a> </div> <div class="slick-slide"> <a href="/en/2025/me/news/from-molecules-to-markets-tackling-material-circularity-at-every-level" class="sliderCentered-item sliderCentered-item--link sliderCentered-item--gradient placeholder placeholder--blue"> <picture> <source media="(max-width: 600px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/9/csm_homepage-carrousel-me2_b43c48838f.webp" /> <source media="(max-width: 1024px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/9/csm_homepage-carrousel-me2_3dcb2656d1.webp" /> <source media="(max-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/9/csm_homepage-carrousel-me2_957467aea5.webp" /> <source media="(min-width: 1280px)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/9/csm_homepage-carrousel-me2_d48a0be45c.webp" /> <img loading="lazy" class="placeholder-image" src="https://filelist.tudelft.nl/_processed_/3/9/csm_homepage-carrousel-me2_4efa559de8.jpg" width="610" height="640" alt="" /> </picture> <!--TYPO3SEARCH_begin--> <div class="sliderCentered-itemInner"> <h2 class="sliderCentered-itemHeading color-white">Tackling material circularity at every level</h2> <p class="sliderCentered-itemDescription">Circular economy | From molecules to markets</p> <div class="sliderCentered-itemLink btn btn--single align-center btn--blue"> Read more </div> </div> <!--TYPO3SEARCH_end--> </a> </div> </div> </div> </div> </div> </div> </div> <div id=c988579 class="t3ce show-for-xlarge frame-type-gridelements_pi1 frame-space-before-40 "> <a id="c1002915" class="localized-uid"></a> <div class=" grid-background--boxed"> <div class="row grid layout-0"> <div class="xs-12 sm-6 lg-4"> </div> <div class="xs-12 sm-6 lg-4"> </div> <div class="xs-12 sm-6 lg-4"> <div id=c988580 class="t3ce frame-type-sitetud_singlebutton "> <a id="c1002914" class="localized-uid"></a> <a href="/en/research/societal-challenges" class="btn btn--single align-center btn--blue btn--borderBox" style="width: 100%;"> Our societal challenges </a> </div> </div> </div> </div> </div> <div id=c989665 class="t3ce hide-for-xlarge frame-type-shortcut frame-space-before-20 frame-space-after-20 "> <a id="c1002916" class="localized-uid"></a> <div id=c1002914 class="t3ce frame-type-sitetud_singlebutton "> <a href="/en/research/societal-challenges" class="btn btn--single align-center btn--blue btn--borderBox" style="width: 100%;"> Our societal challenges </a> </div> </div> <div id=c988553 class="t3ce frame-type-gridelements_pi1 element-layout-fullScreenWidth-contentContainerWidth "> <a id="c1002922" class="localized-uid"></a> <div class="grid-background--grey_light "> <div class="row grid grid--noPaddingBottom layout-1570700722"> <div class="sm-12"> <div id=c988549 class="t3ce frame-type-text frame-space-before-30 frame-space-after-40 "> <a id="c1002917" class="localized-uid"></a> <h2 class="ce-headline-center "> News </h2> </div> <div id=c988550 class="t3ce frame-type-lookup_results "> <a id="c1002918" class="localized-uid"></a> <div class="row" aria-labelledby="content-slider-c988550"> <h2 id="content-slider-c988550" class="show-for-sr">Nieuws</h2> <div class="content-slider content-slider--grey_dark"> <div class="content-slider__inner-wrap"> <div class="content-slider__item-wrap"> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/tnw/revealing-capillaries-and-cells-in-living-organs-with-ultrasound" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-207536"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/5/2/csm_ads1325_Cover%20Possibility_seq3_v1_8a404b7a7b.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/5/2/csm_ads1325_Cover%20Possibility_seq3_v1_437459517e.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/5/2/csm_ads1325_Cover%20Possibility_seq3_v1_04290d5b78.jpg" width="742" height="960" alt="" title="" /> </picture> <section class='card__content'> <h3>Revealing capillaries and cells in living organs with ultrasound</h3> <span class="card__abstract card__abstract--hover_effect">While medical centres use ultrasound daily, so far this technology is not capable of observing body tissues at the scale of cells. Physicists from TU Delft have developed a microscopy technique based on ultrasound to reveal capillaries and cells across living organs—something that wasn’t possible before. The research is now published in Science.</span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/tu-delft/integrity-social-safety-reporting-point-opened" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-207611"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/0/f/csm_20250401%20Illustraties%20website%20banner_9bf7d74b4b.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/0/f/csm_20250401%20Illustraties%20website%20banner_720c581f00.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/0/f/csm_20250401%20Illustraties%20website%20banner_a7f185b09c.png" width="960" height="960" alt="" title="" /> </picture> <section class='card__content'> <h3>Integrity & social safety reporting point opened</h3> <span class="card__abstract card__abstract--hover_effect">The integrity & social safety reporting point was opened today, 3 April. This is a new link in TU Delft's existing reporting structure. Employees, students and others with a relationship to TU Delft can report signals and concerns there. The reporting point will be part of TU Delft's existing integrity system. </span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/learningforlife/news-stories/artikelen/over-a-million-euros-to-support-municipalities-in-their-management-role-for-the-energy-transition" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-207649"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/5/csm_manny-becerra-NgdhrwAx0J8-unsplash%20pressrelease_2bbc2de313.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/5/csm_manny-becerra-NgdhrwAx0J8-unsplash%20pressrelease_22b6b91ade.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/7/5/csm_manny-becerra-NgdhrwAx0J8-unsplash%20pressrelease_679da34230.jpg" width="960" height="640" alt="" title="" /> </picture> <section class='card__content'> <h3>Over a million euros to support municipalities in their management role for the energy transition</h3> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/tu-delft/tu-delft-science-brought-to-life-in-spectacular-artwork-at-beelden-aan-zee-museum" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-207299"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/f/3/csm_Schreurs_BaZ_AnaOosting-1_sRGB_1426b9e22b.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/f/3/csm_Schreurs_BaZ_AnaOosting-1_sRGB_bdbb46ec22.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/f/3/csm_Schreurs_BaZ_AnaOosting-1_sRGB_086d3ef7cc.jpg" width="960" height="640" alt="" title="" /> </picture> <section class='card__content'> <h3>TU Delft science brought to life in spectacular artwork at Beelden aan Zee museum</h3> <span class="card__abstract card__abstract--hover_effect">Museum Beelden aan Zee in The Hague presents the new solo exhibition Ana Oosting – Breaking Waves from March 14 to June 9, 2025. For the museum, Oosting created a spectacular, site-specific installation featuring ten kinetic sea creatures that move freely through the space, inspired by the wave patterns of the North Sea. She received help from TU Delft wave expert Paul Bayle. Bayle: ‘As a scientist, I love sharing my knowledge, but that it would lead to such an enchanting, kinetic installation... that I could never have imagined!’ </span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/me/news/tu-delft-and-brown-university-pioneer-technology-for-next-generation-lightsails-in-space-exploration" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-207117"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/7/csm_2024.05.07_TUD_RichardNorte_ScienceStory_25387_3_web_1184884ff2.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/7/csm_2024.05.07_TUD_RichardNorte_ScienceStory_25387_3_web_6ae3570765.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/News/2025/03_March/ME/2024.05.07_TUD_RichardNorte_ScienceStory_25387_3_web.png" width="800" height="533" alt="Picture of Richard Norte with research setup" title="" /> </picture> <section class='card__content'> <h3>TU Delft and Brown University pioneer technology for next-generation lightsails in space exploration</h3> <span class="card__abstract card__abstract--hover_effect">Researchers at TU Delft and Brown University have developed scalable nanotechnology-based lightsails that could support future advances in space exploration and experimental physics. Their research, published in Nature Communications, introduces new materials and production methods to create the thinnest large-scale reflectors ever made.</span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/tu-delft/tu-delft-crowns-young-climate-and-energy-researchers" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-206957"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/d/2/csm_DSC_7162-Enhanced-NR_2cf4d41d20.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/d/2/csm_DSC_7162-Enhanced-NR_627f107ac4.webp" /> <img style="object-position: 63% 46%;" src="https://filelist.tudelft.nl/_processed_/d/2/csm_DSC_7162-Enhanced-NR_d61bef2470.jpg" width="960" height="640" alt="" title="" /> </picture> <section class='card__content'> <h3>TU Delft crowns young climate and energy researchers</h3> <span class="card__abstract card__abstract--hover_effect">On Tuesday, March 18, 2025, nine young TU Delft researchers competed for the title of best climate and energy paper of the past year. The competition resulted in two winners: Jorrit Bleeker (Energy) with his research that contributes to the many small improvements that together lead to affordable electrolysis of green hydrogen, and Lifei Yan (Climate) for his publication on salt precipitation during the underground storage of captured CO₂, which will ultimately lead to better strategies for this process.</span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2024/tu-delft/qia-researchers-create-first-operating-system-for-quantum-networks" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-206451"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/d/csm_QNodeOS%20-%20QNode%20hires_1d13711ac7.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/2/d/csm_QNodeOS%20-%20QNode%20hires_73e606837f.webp" /> <img style="object-position: 44% 54%;" src="https://filelist.tudelft.nl/_processed_/2/d/csm_QNodeOS%20-%20QNode%20hires_e6c795dcfd.jpg" width="960" height="640" alt="" title="" /> </picture> <section class='card__content'> <h3>QIA researchers create first Operating System for Quantum Networks</h3> <span class="card__abstract card__abstract--hover_effect">Breakthrough achievement paves the way for practical quantum internet applications <br /> </span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/me/news/decoding-material-phase-transitions-with-nanodrums" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-206462"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/a/csm_Illustration%20nanodrums_607f987e66.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/a/csm_Illustration%20nanodrums_0e55b45099.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/3/a/csm_Illustration%20nanodrums_3118c5cac0.jpg" width="960" height="540" alt="illustratie van nanodrums" title="" /> </picture> <section class='card__content'> <h3>Decoding material phase transitions with nanodrums</h3> <span class="card__abstract card__abstract--hover_effect">In Nature Communications, a team of scientists led by TU Delft presents new insights into the complex nature of phase transitions in magnetic nanomaterials. </span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/tu-delft/climate-action-and-energy-transition-at-full-speed-nine-fresh-insights" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-206275"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/5/3/csm_Banner_TU_Delft_2025%202_198d2139af.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/5/3/csm_Banner_TU_Delft_2025%202_95a1009b20.webp" /> <img style="object-position: 44% 31%;" src="https://filelist.tudelft.nl/_processed_/5/3/csm_Banner_TU_Delft_2025%202_362a3d18f1.jpg" width="960" height="273" alt="Geillustreerde portretten " title="Best Climate paper award Portrets " /> </picture> <section class='card__content'> <h3>Climate action and energy transition at full speed: nine fresh insights</h3> <span class="card__abstract card__abstract--hover_effect">During the Best Climate Action & Energy Paper Award ceremony – taking place on Tuesday, March 18, 2025 – nine young scientists from TU Delft will pitch their research findings. Nine fresh insights, and sometimes even groundbreaking ideas, that not only tackle today’s problems but also make tomorrow’s world safer, cleaner, and more resilient.</span> </section> </div> </a> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div class="content-slider__card"> <a href="/en/2025/tu-delft/tu-delft-becomes-who-collaborating-centre-on-ai-healthcare-governance" class="card card--no_description card--grey_dark card--colored card--slide_effect card--background_gradient"> <div class="card__contentWrapper"> <picture class="card__img card__img--988550-206041"> <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/e/3/csm_RoyBorghoutsFotografie-060325-TUD_WHOMondai-004_668571360a.webp" /> <source media="(min-width: 40.125em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/e/3/csm_RoyBorghoutsFotografie-060325-TUD_WHOMondai-004_a3bd351bf2.webp" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/e/3/csm_RoyBorghoutsFotografie-060325-TUD_WHOMondai-004_adfbcfb3f8.jpg" width="960" height="640" alt="" title="" /> </picture> <section class='card__content'> <h3>TU Delft becomes WHO Collaborating Centre on AI healthcare governance</h3> <span class="card__abstract card__abstract--hover_effect">The TU Delft Digital Ethics Centre will advise the World Health Organization (WHO) on ethical aspects and laws and regulations surrounding AI in healthcare. On 6 March, the Delft research centre will receive accreditation: after which it will officially be a WHO Collaboration Centre in the field of Ethics and Governance of AI in Healthcare. </span> </section> </div> </a> </div> </div> </div> </div> <button class="content-slider__button content-slider__button--prev hide" tabindex="-1" aria-hidden="true"> <span class="show-for-sr">Go to previous item</span> </button> <button class="content-slider__button content-slider__button--next"> <span class="show-for-sr">Go to next item</span> </button> <div class="content-slider__bullet-wrap" aria-live="polite" data-labelscrolltopart="Item" data-labelof="of"></div> </div> </div> </div> <div id=c988552 class="t3ce show-for-xlarge frame-type-gridelements_pi1 frame-space-before-20 "> <a id="c1549743" class="localized-uid"></a> <div class=" grid-background--boxed"> <div class="row grid layout-0"> <div class="xs-12 sm-6 lg-3"> </div> <div class="xs-12 sm-6 lg-3"> </div> <div class="xs-12 sm-6 lg-3"> </div> <div class="xs-12 sm-6 lg-3"> <div id=c1549740 class="t3ce frame-type-sitetud_singlebutton "> <a id="c1549742" class="localized-uid"></a> <a href="/en/about-tu-delft/current" class="btn btn--single align-center btn--blue btn--borderBox" style="width: 100%;"> More news </a> </div> </div> </div> </div> </div> <div id=c989673 class="t3ce hide-for-xlarge frame-type-shortcut frame-space-before-30 "> <a id="c1002921" class="localized-uid"></a> <div id=c1549742 class="t3ce frame-type-sitetud_singlebutton "> <a href="/en/about-tu-delft/current" class="btn btn--single align-center btn--blue btn--borderBox" style="width: 100%;"> More news </a> </div> </div> </div> </div> </div> </div> <div id=c988548 class="t3ce frame-type-gridelements_pi1 element-layout-fullScreenWidth-contentContainerWidth frame-space-before-30 "> <a id="c1002932" class="localized-uid"></a> <div class=" "> <div class="row grid grid--noPaddingBottom layout-1570700722"> <div class="sm-12"> <div id=c988540 class="t3ce frame-type-text frame-space-before-10 frame-space-after-40 "> <a id="c1002923" class="localized-uid"></a> <h2 class="ce-headline-center "> Events </h2> </div> <div id=c989634 class="t3ce frame-type-gridelements_pi1 "> <a id="c1061356" class="localized-uid"></a> <div class=" grid-background--boxed"> <div class="content-slider"> <div class="content-slider__inner-wrap"> <div class="content-slider__item-wrap content-slider__item-wrap--no-slide-preview multiRowGrid multiRowGrid--slider "> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1548277 class="t3ce frame-type-sitetud_card "> <a id="c1548279" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/learningforlife/about-us/professional-education-week-2025" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1548277" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/e/4/csm_extschool_001490b480.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/e/4/csm_extschool_84d0715972.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/e/4/csm_extschool_001490b480.webp, https://filelist.tudelft.nl/_processed_/e/4/csm_extschool_adbd0daf03.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/extschool.jpg" width="275" height="190" alt="" /> </picture> <section class='card__content'> <div class="label">For industry, management and government officials</div> <h3>7-11 April: Professional Education Week</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1559953 class="t3ce frame-type-sitetud_card "> <a id="c1559954" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/events/2025/climate-action-programme/climate-action-programme-lecture-climate-action-activism" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1559953" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/9/csm_Climate%20Action%2025-3_0162c9ba13.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/9/csm_Climate%20Action%2025-3_0cc7050d94.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/9/csm_Climate%20Action%2025-3_0162c9ba13.webp, https://filelist.tudelft.nl/_processed_/7/9/csm_Climate%20Action%2025-3_294fcf9677.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/Climate%20Action%2025-3.png" width="651" height="480" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>10 April: Lecture "Climate Action Activism"</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1562057 class="t3ce frame-type-sitetud_card "> <a id="c1562058" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/events/2025/x/presentation-night" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1562057" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/f/csm_Presentation%20Night_267bd592d7.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/f/csm_Presentation%20Night_1084f723e3.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/3/f/csm_Presentation%20Night_267bd592d7.webp, https://filelist.tudelft.nl/_processed_/3/f/csm_Presentation%20Night_974fa084af.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/Presentation%20Night.png" width="600" height="350" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>11 April: Presentation Night X</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1553511 class="t3ce frame-type-sitetud_card "> <a id="c1553512" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/events/2025/alumni/alumnus-of-the-year-2024" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1553511" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/a/7/csm_homepage-event-alumnus_5fd199674a.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/a/7/csm_homepage-event-alumnus_7676234475.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/a/7/csm_homepage-event-alumnus_5fd199674a.webp, https://filelist.tudelft.nl/_processed_/a/7/csm_homepage-event-alumnus_9fa868c0e9.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/homepage-event-alumnus.jpg" width="275" height="190" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>15 April: Symposium Alumnus of the year</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1570057 class="t3ce frame-type-sitetud_card "> <a id="c1570058" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/evenementen/2025/tu-delft/05-may/librae-lustrum-conference-networking-dinner" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1570057" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/9/csm_Librae%20foto_b3188156f8.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/9/csm_Librae%20foto_6a480e3eda.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/7/9/csm_Librae%20foto_b3188156f8.webp, https://filelist.tudelft.nl/_processed_/7/9/csm_Librae%20foto_59235189af.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/_processed_/7/9/csm_Librae%20foto_d55e503785.jpg" width="960" height="720" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>1 May: Librae Lustrum Conference & Networking Dinner</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1564421 class="t3ce frame-type-sitetud_card "> <a id="c1564422" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/hortus-botanicus/agenda/basic-smartphone-nature-photography-workshop-vanhiske-may" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1564421" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/b/3/csm_homepage-event-hortus%201_ab8c4cff51.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/b/3/csm_homepage-event-hortus%201_aa1761b87e.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/b/3/csm_homepage-event-hortus%201_ab8c4cff51.webp, https://filelist.tudelft.nl/_processed_/b/3/csm_homepage-event-hortus%201_7d6cc68f7a.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/homepage-event-hortus%201.jpg" width="275" height="190" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>7 May: Workshop smartphone nature photography</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1563164 class="t3ce frame-type-sitetud_card "> <a id="c1563165" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/events/2025/science-centre/maker-faire-delft" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1563164" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/f/c/csm_Maker%20Faire%20DEF_bb49adb192.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/f/c/csm_Maker%20Faire%20DEF_95c508d569.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/f/c/csm_Maker%20Faire%20DEF_bb49adb192.webp, https://filelist.tudelft.nl/_processed_/f/c/csm_Maker%20Faire%20DEF_09f22a5c21.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/Maker%20Faire%20DEF.png" width="600" height="500" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>9 May: Maker Faire Delft</h3> </section> </div> </a> </div> </div> </div> </div> <div class="content-slider__item sm-12 md-6 lg-3"> <div id=c1563167 class="t3ce frame-type-sitetud_card "> <a id="c1563168" class="localized-uid"></a> <div class="grid-row "> <div class="sm-12"> <a href="/en/evenementen/2025/library/05-mei/outdoor-cinema-arrival" class="card"> <div class="card__contentWrapper"> <picture class="card__img card__img--1563167" > <source media="(max-width: 40.063em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/8/2/csm_Outdoor%20cinema_2993b1e7e2.webp" /> <source media="(max-width: 63.938em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/8/2/csm_Outdoor%20cinema_b487e05081.webp" /> <source media="(min-width: 64em)" type="image/webp" srcset="https://filelist.tudelft.nl/_processed_/8/2/csm_Outdoor%20cinema_2993b1e7e2.webp, https://filelist.tudelft.nl/_processed_/8/2/csm_Outdoor%20cinema_6db54d807e.webp 1.5x" /> <img style="object-position: 50% 50%;" src="https://filelist.tudelft.nl/TUDelft/Homepage/Events%202025/Outdoor%20cinema.png" width="687" height="626" alt="" /> </picture> <section class='card__content'> <div class="label">For everyone</div> <h3>22 May: Outdoor Cinema: Arrival</h3> </section> </div> </a> </div> </div> </div> </div> </div> </div> <button class="content-slider__button content-slider__button--prev hide" tabindex="-1" aria-hidden="true"> <span class="show-for-sr">Go to previous item</span> </button> <button class="content-slider__button content-slider__button--next"> <span class="show-for-sr">Go to next item</span> </button> <div class="content-slider__bullet-wrap" aria-live="polite" data-labelscrolltopart="Item" data-labelof="of"> </div> </div> </div> </div> <div id=c988547 class="t3ce show-for-xlarge frame-type-gridelements_pi1 frame-space-before-10 "> <a id="c1002930" class="localized-uid"></a> <div class=" grid-background--boxed"> <div class="row grid layout-0"> <div class="xs-12 sm-6 lg-3"> </div> <div class="xs-12 sm-6 lg-3"> </div> <div class="xs-12 sm-6 lg-3"> </div> <div class="xs-12 sm-6 lg-3"> <div id=c988544 class="t3ce frame-type-sitetud_singlebutton "> <a id="c1002929" class="localized-uid"></a> <a href="/en/about-tu-delft/calendar" class="btn btn--single align-center btn--borderBox" style="width: 100%;"> More events </a> </div> </div> </div> </div> </div> <div id=c989674 class="t3ce hide-for-xlarge frame-type-shortcut frame-space-before-30 frame-space-after-20 "> <a id="c1002931" class="localized-uid"></a> <div id=c1002929 class="t3ce frame-type-sitetud_singlebutton "> <a href="/en/about-tu-delft/calendar" class="btn btn--single align-center btn--borderBox" style="width: 100%;"> More events </a> </div> </div> </div> </div> </div> </div> <div id=c988567 class="t3ce frame-type-html "> <script> // Split carousel description by | symbol var carouselTitle = document.getElementsByClassName("sliderCentered-itemDescription"); for (let i = 0; i < carouselTitle.length; i++) { var splitTitle = carouselTitle[i].innerHTML.split(" | "); if(splitTitle.length == 2) { carouselTitle[i].innerHTML = splitTitle[1]; let newItem = document.createElement("div"); newItem.innerHTML = splitTitle[0]; newItem.classList.add("carouselTag"); carouselTitle[i].parentNode.prepend(newItem); } } </script> <style> /* Thema Tag Styling */ .carouselTag, #c989686 .card .label, #c1099644 .card .label {font-size: .7rem; text-transform: uppercase; letter-spacing: 1px; background-color: #ffffffa3; color: black; width: fit-content; padding: 2px 11px 1px 11px !important; border-radius: 1px; margin-bottom: 10px !important; } .sliderCentered-itemHeading { line-height: 1.3 !important;} /* Hoogte van Header op Desktop */ @media only screen and (min-width: 1024px) { #c989686 .card, #c989686 .frame-type-sitetud_card, #c1099644 .card, #c1099644 .frame-type-sitetud_card {height:35em !important;} #c988593 .grid-background--grey_light { height:35em; padding-bottom: 0; padding-right:3rem; padding-left:3rem; overflow: hidden; } } /* Background Flame */ #c988593 .grid-background--grey_light:after { opacity: 25%; position:absolute; content:''; display:block; width:100%; height:100%; top:0; left:0; background-image: url(https://www.tudelft.nl/typo3conf/ext/tud_styling/Resources/Public/img/torch.svg); background-repeat: no-repeat; background-position: 15% 75%; background-size: 250%; mix-blend-mode: exclusion !important; pointer-events:none;} /* Bottom blue line on header & carousel */ #c988593 .grid-background--grey_light, .sliderCentered-item { box-shadow: 0 -1px 0 0 #00a6d6 inset; box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box; -webkit-transition: .2s cubic-bezier(.56,0,0,1.6); transition: .2s cubic-bezier(.56,0,0,1.6); } #c988593 .grid-background--grey_light:hover, .sliderCentered-itemInner:hover { box-shadow: 0 -0.5em 0 0 #00a6d6 inset; } .sliderCentered-itemLink.btn {display:none;} #c1099644 .card h3, #c989686 .card h3 {font-size: 2em;} /* Remove line in header card */ #c1099644 .card h3:before, #c989686 .card h3:before {display:none} /* Fix padding issues in header grid */ #c1099644>div>div, #c989686>div>div {margin-top:0;} #c989680 {margin-left: -1.46875rem;} #c1099644 div, #c989686 div {margin-bottom: initial !important;padding:0;} /* gradient on header card */ .card.card--background_gradient .card__contentWrapper:before { content: ""; z-index: 1; display: block; background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(#000)); background-image: linear-gradient(rgba(0,0,0,0),#000); position: absolute; top: 50%; right: 0; bottom: 0; left: 0; pointer-events: none; } /* gradient on carousel */ .sliderCentered-item:before {top:50%;} /*fix carousel bug & make it more square on mobile*/ .frame-type-sitetud_carousel {overflow:hidden;} @media (max-width: 37.5em){ .sliderCentered-itemInner {padding-top:5rem;padding-bottom:5rem;} } /* Make header card padding equal to carousel padding */ #c1099644 .card__content, #c989686 .card__content {padding: 4.40625rem} /* Right padding of text in header card */ #c1099644 .card__content, #c989686 .card__content {padding-right:20rem;} /* Small Desktop Settings */ @media only screen and (max-width: 1600px) { #c988593 .grid-background--grey_light {padding-left: 2.5rem;padding-right: 2.5rem !important;} } /* Mobile Settings */ /* Fix margin on right of header text */ @media only screen and (max-width: 1023px) { #c988593 .grid-background--grey_light { margin-right: initial; } /* Right padding of text in header card */ #c1099644 .card__content, #c989686 .card__content {padding-right:4.40625rem;} /* WCAG adjustment for links in textblock */ .linepix {min-width: 24px; min-height: 24px;} /* WCAG adjustment for bulletstyle navigation */ .contrast .content-slider__bullet { width: 24px; height: 24px; margin: 1em 5px;} </style> </div> <!--TYPO3SEARCH_end--> </div> </main> <footer class="pageFooter"> <a class="js-back_to_top" href="#" title="back_to_top"> <div class="btn--icon i-arrow_down"></div> </a> <div class='container'> <div class='row'> <div class="md-6 lg-6 space"> <div id=c37509 class="t3ce frame-type-header "> <h2 class=" h1"> Delft University of Technology </h2> </div> <div class="t3ce frame-type-sitetud_socialmedialinks "> <h3 class="text-hide">socmed</h3> <ul class="list-inline"> <li> <a href="https://www.facebook.com/tudelft" target="_blank" class="btn--icon i-facebook" rel="noreferrer"> <span class="text-hide"> facebook </span> </a> </li> <li> <a href="https://www.instagram.com/tudelft/?hl=en" target="_blank" class="btn--icon i-instagram" rel="noreferrer"> <span class="text-hide"> instagram </span> </a> </li> <li> <a href="https://www.youtube.com/user/tudelft" target="_blank" class="btn--icon i-youtube" rel="noreferrer"> <span class="text-hide"> youtube </span> </a> </li> <li> <a href="https://www.linkedin.com/edu/delft-university-of-technology-15445" target="_blank" class="btn--icon i-linkedin" rel="noreferrer"> <span class="text-hide"> linkedin </span> </a> </li> <li> <a href="https://api.whatsapp.com/send?phone=3197010256278" target="_blank" class="btn--icon i-whatsapp hide-for-xxlarge" rel="noreferrer"> <span class="text-hide">whatsapp</span> </a> <a href="https://wa.me/+3197010256278" title="Start Whatsapp Conversation" target="_blank" class="btn--icon i-whatsapp show-for-xxlarge" rel="noreferrer"> <span class="text-hide">whatsapp</span> </a> </li> </ul> </div> </div> <div class="md-6 lg-6"> <div class="row"> <div class="sm-6"> <div id=c46 class="t3ce frame-type-text "> <p>Postbus 5<br> 2600 AA Delft<br> The Netherlands<br> <a href="/en/about-tu-delft/contact" title="Opens internal link in current window">Contact and accessibility</a></p> </div> </div> <div class="sm-6 right"> <div id=c45 class="t3ce frame-type-text "> <p><a href="/en/about-tu-delft/working-at-tu-delft">Vacancies</a><br> <a href="/en/about-tu-delft/browsealoud">Reading assistant BrowseAloud</a><br> <a href="http://intranet.tudelft.nl/" target="_blank" rel="noreferrer">Intranet </a><br> <a href="/en/student" target="_blank">Student portal</a><br> <a href="/en/delft-university-fund/support-us">Donate</a><br> <a href="/en/disclaimer">Disclaimer</a><br> <a href="/en/privacy-and-security">Privacy & Security</a></p> </div> </div> </div> </div> </div> </div> </footer> <nav class="nav-bottom"> <div class="container no-spacing"> <a class="logo left" href="/en/"> <svg focusable="false" class="logo logo-tudelft--bottom" role="img"> <use xlink:href="#logo"></use> </svg> <span class="text-hide">Home of TU Delft</span> </a> <div class="nav-main left"> <a href="/en/cookie-policy" title="Cookie settings" class="cookieButton btn--icon"> <svg viewBox="14 13 36 44" class="cookieButton-icon"> <circle cx="35.709" cy="22.973" fill="currentColor" r="2"/> <circle cx="41.875" cy="29.417" fill="currentColor" r="2"/> <circle cx="31.709" cy="31.417" fill="currentColor" r="2"/> <circle cx="24.001" cy="37.25" fill="currentColor" r="2"/> <circle cx="32" cy="42.292" fill="currentColor" r="2"/> <circle cx="38.875" cy="37.25" fill="currentColor" r="2"/> <path d="M32 50c-9.925 0-18-8.075-18-18 0-.505.034-1.001.074-1.494a1 1 0 0 1 1.269-.882c3.594 1.016 7.107-1.47 7.578-4.963a1 1 0 0 1 .858-.857 5.948 5.948 0 0 0 3.438-1.705 5.958 5.958 0 0 0 1.756-4.241c0-.78-.15-1.542-.447-2.266a1.002 1.002 0 0 1 .776-1.369A17.78 17.78 0 0 1 32 14c9.925 0 18 8.075 18 18s-8.075 18-18 18zM16.002 31.795A14.01 14.01 0 0 0 16 32c0 8.822 7.178 16 16 16s16-7.178 16-16-7.178-16-16-16c-.396 0-.801.019-1.233.058a7.91 7.91 0 0 1 .206 1.799 7.941 7.941 0 0 1-2.342 5.656 7.914 7.914 0 0 1-3.86 2.143c-.899 3.891-4.672 6.653-8.769 6.139z" fill="currentColor"/> </svg> </a> <button class="button-reset btn--icon btn-contrast js-contrastChanger" title="Contrast settings"> <span class="js-contrastChanger-label text-hide" data-highcontrasttext="Activate high contrast" data-normalcontrasttext="Activate normal contrast"> Activate high contrast </span> <svg role="presentation" class="icon-contrast"> <use xlink:href="/typo3conf/ext/tud_styling/Resources/Public/img/contrast-icon.svg#contrast-icon"></use> </svg> </button> <div id="__ba_panel" class="js-browse-aloud"> </div> </div> <div class="right"> <div class="nav-main"> <ul><li class="nav-main__mainitem" data-priority="0"><a href="/en/education">Students & Education</a><ul class="nav-main__submenu"><li><a href="/en/education/programmes">Programmes</a></li><li><a href="/en/education/admission-and-application">Admission and Application</a></li><li><a href="/en/education/study-programme-orientation">Study Programme Orientation</a></li><li><a href="/en/student">Student portal</a></li><li><a href="/en/learningforlife">Lifelong Learning</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/research">Research</a><ul class="nav-main__submenu"><li><a href="/en/research/societal-challenges">Societal challenges</a></li><li><a href="/en/research/faculties-and-institutes">Faculties and institutes</a></li><li><a href="/en/research/research-facilities">Research facilities</a></li><li><a href="/en/stories">Stories</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/innovation-impact">Innovation & Impact</a><ul class="nav-main__submenu"><li><a href="/en/innovation-impact/business-collaboration">Business collaboration</a></li><li><a href="/en/innovation-impact/pioneering-tech">Pioneering Tech</a></li><li><a href="/en/innovation-impact/project-cases">Project Cases</a></li><li><a href="/en/innovation-impact/entrepreneurship">Getting started in business</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/community">Community</a><ul class="nav-main__submenu"><li><a href="/en/community/campus-life">Campus Life</a></li><li><a href="/en/community/alumni">Alumni</a></li><li><a href="/en/about-tu-delft/calendar">Events</a></li><li><a href="/en/community/social-safety">Social safety</a></li><li><a href="/en/sciencecentre">Science Centre</a></li></ul></li><li class="nav-main__mainitem" data-priority="0"><a href="/en/about-tu-delft">About TU Delft</a><ul class="nav-main__submenu"><li><a href="/en/about-tu-delft/find-employees">Find employees</a></li><li><a href="/en/about-tu-delft/contact">Contact</a></li><li><a href="/en/about-tu-delft/current">Current</a></li><li><a href="/en/about-tu-delft/calendar">Calendar</a></li><li><a href="/en/library">Library</a></li><li><a href="/en/about-tu-delft/working-at-tu-delft">Jobs</a></li><li><a href="/en/about-tu-delft/organisation">Organisation</a></li><li><a href="/en/about-tu-delft/strategy">Strategy</a></li><li><a href="/en/delft-university-fund">University Fund</a></li></ul></li></ul> <a href="/" title="Schakel over naar de Nederlandse taal" class="btn--icon btn--languageSwitch" lang="nl"> <div class="icon-languageSwitch icon-languageSwitch--en"></div> </a> <button data-target=".nav-search" class="button-reset btn--icon i-search js-modal"> <span class="text-hide">Search</span> </button> </div> </div> </div> </nav> <script> document.addEventListener('DOMContentLoaded', function() { function waitForElementToExist(selector) { return new Promise(resolve => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver(() => { if (document.querySelector(selector)) { resolve(document.querySelector(selector)); observer.disconnect(); } }); observer.observe(document.body, { subtree: true, childList: true, }); }); } // Wacht tot het #__ba_panel element correct geladen is waitForElementToExist('#__ba_panel > .textDiv > .customText').then(element => { element.innerHTML = ` <svg role="img" aria-labelledby="reachdecktitle" style="width: 100%; height: 100%;"> <title id="reachdecktitle">Spreken - Luisteren met de ReachDeck-werkbalk</title> <use xlink:href="/typo3conf/ext/tud_styling/Resources/Public/img/browse-aloud.svg#browseAloud"></use> </svg> `; }); // Dit zorgt ervoor dat de ba-panel wordt toegevoegd aan de juiste locatie met een extra check window.addEventListener('DOMContentLoaded', function () { const hasNavTopSection = document.querySelector('.nav-top--section'); const rightNavMain = document.querySelector('.right .nav-main'); const leftNavMain = document.querySelector('.nav-main.left'); const baPanel = document.querySelector('#__ba_panel'); if (!baPanel) return; if (hasNavTopSection && rightNavMain) { rightNavMain.prepend(baPanel); } else if (leftNavMain) { leftNavMain.append(baPanel); } }); }); </script> <script src="/typo3conf/ext/site_tud/Resources/Public/JavaScript/dist.javascripts.c841a1eb1d.min.js" type="text/javascript"></script> <script> document.addEventListener('DOMContentLoaded', function () {var navItem = document.getElementById('nav-overlay__mainitem--1'), navSubItem = document.getElementById('nav-overlay__subitem--1');if (navItem !== null) {navItem.classList.add('is-active');}if (navSubItem !== null) {navSubItem.classList.add('nav-overlay__subitem--active');}}); </script> <script> document.addEventListener('DOMContentLoaded', function () {var navItem = document.getElementById('nav-overlay__mainitem--68510'), navSubItem = document.getElementById('nav-overlay__subitem--68510');if (navItem !== null) {navItem.classList.add('is-active');}if (navSubItem !== null) {navSubItem.classList.add('nav-overlay__subitem--active');}}); </script> <style> .pageFooter { background-image: url(https://www.tudelft.nl/typo3conf/ext/tud_styling/Resources/Public/img/torch.svg); background-repeat:no-repeat; background-position: 15% 75%; background-size: 250%; background-blend-mode: overlay; } .card--no_image {background-blend-mode: overlay;} .flameStyle1 {background-position: 80% 40% !important; background-size: 370% !important;} .flameStyle2 {background-position: 30% 35% !important; background-size: 450% !important;} .flameStyle3 {background-position: 50% 50% !important; background-size: 400% !important;} .flameStyle4 {background-position: 60% 70% !important; background-size: 500% !important;} .flameStyle5 {background-position: 30% 80% !important; background-size: 330% !important;} </style> <script> var cards = document.querySelectorAll('.card--no_image'); var i; for(var i = 0; i<cards.length; i++) { switch (i % 5) { case 0: cards[i].className += " flameStyle1"; break; case 1: cards[i].className += " flameStyle2"; break; case 2: cards[i].className += " flameStyle3"; break; case 3: cards[i].className += " flameStyle4"; break; case 4: cards[i].className += " flameStyle5"; break; } } </script> <script> window.addEventListener('DOMContentLoaded', function () { document.querySelectorAll(".logo-tudelft--top")?.forEach (x=> x.setAttribute("aria-label", "TU Delft homepage")); // add aria-label to top logo document.querySelectorAll(".logo-tudelft--bottom")?.forEach (x=> x.setAttribute("aria-label", "TU Delft homepage")); //add aria-label to bottom logo // document.getElementsByClassName("button-reset btn--icon i-search js-modal")[0].setAttribute("aria-label", "Search, Zoeken"); // add aria-label to search icon // document.getElementsByClassName("button-reset btn--icon i-search js-modal")[1].setAttribute("aria-label", "Search, Zoeken"); // add aria-label to search icon document.querySelectorAll('[class*=video--popup]')?.forEach( x=> x.setAttribute("aria-label","Play video" + ", " + x.innerText)); // add 'play video' to every videoelement with additional video-title document.querySelector(".cookieNotice")?.setAttribute("role", "dialog"); // add region to cookiestatement document.querySelector(".cookieNotice")?.setAttribute("aria-label", "Cookie statement"); // add aria-label to cookiestatement document.querySelector(".pageFooter")?.setAttribute("role", "region"); // add region to footer document.querySelector(".pageFooter")?.setAttribute("aria-label", "Footer"); // add aria-label to footer // add tabindex=-1 to pagination (...) const dots = document.querySelectorAll('ul li a'); for (let i = 0; i < dots.length; i++) { if (dots[i].textContent === '...') { dots[i].setAttribute("tabindex", "-1"); } } // add buttontitle to carousel aria-label document.querySelectorAll('.slick-dots button')?.forEach(button => { button.setAttribute('aria-label', button.innerText + ', ' + button.getAttribute('aria-label')); }); // set photogallery ARIA to hidden // document.querySelectorAll('.photoGallerySlider .slick-dots')?.forEach(ul => { // ul.setAttribute("aria-hidden","true");}) // set ARIA label for next & previous buttons document.querySelectorAll(".slick-prev")?.forEach (x=> x.setAttribute("aria-label", "Vorige / Previous")); // add aria-label to top logo document.querySelectorAll(".slick-next")?.forEach (x=> x.setAttribute("aria-label", "Volgende / Next")); // add aria-label to top logo // add 'reference' to element id //document.querySelectorAll(".frame-type-shortcut [id]").forEach((element, index) => element.id += '-reference' + index); // header sliders WCAG document.querySelectorAll('.carousel')?.forEach( x=> x.setAttribute("role","region")); document.querySelectorAll('.carousel')?.forEach( x=> x.setAttribute("aria-label","Header carousel")); document.querySelectorAll(".menu.js-toggle")?.forEach ( x=> x.setAttribute("aria-label", "Menu")); // Set ARIA label of patty menu // wis alle filters aria labels/role var list = document.querySelector(".lookup-usedFilters"); if (list && list.childElementCount !== 0) { // It has at least one element as a child list.setAttribute("role", "list"); } else if (list && list.childElementCount === 0) { list.setAttribute("role", "none"); } // fix profilecard UL var profilecard = document.querySelectorAll(".profile__contactdata"); for (i = 0; i < profilecard.length; i++) { if (profilecard[i] && profilecard[i].childElementCount !== 0) { // It has at least one element as a child profilecard[i].setAttribute("role", "list"); } else if (profilecard[i] && profilecard[i].childElementCount === 0) { profilecard[i].setAttribute("role", "none"); }} // fix aside UL var navaside = document.querySelectorAll(".nav-aside ul"); for (i = 0; i < navaside.length; i++) { if (navaside[i] && navaside[i].childElementCount !== 0) { // It has at least one element as a child navaside[i].setAttribute("role", "list"); } else if (navaside[i] && navaside[i].childElementCount === 0) { navaside[i].setAttribute("role", "none"); }} // Set aria label for to top links // Todo: remove childnode <span class="hide">To top</span> document.querySelectorAll(".csc-linkToTop .uparrow").forEach(x => x.setAttribute("aria-label", "To top")); // Set tabindex of photo gallery slider to -1 document.querySelectorAll(".photoGalleryNavSlider-item").forEach(x => x.setAttribute("tabindex", -1)) document.querySelectorAll(".slick-slide").forEach(x => x.setAttribute("tabindex", -1)) // Remove empty header in carousel document.querySelectorAll(".frame-type-sitetud_carousel h3:empty").forEach(x => x.remove()) document.querySelectorAll(".frame-type-sitetud_carousel .slick-dots").forEach(x => x.style.marginTop = "3rem") // Empty H2 in Lookup results if screen reader header is not entered document.querySelectorAll("h2.show-for-sr:empty").forEach(x => x.remove()) // Empty H2 in Lookup results if agenda__month header is not entered document.querySelectorAll(".agenda .agenda__month:empty").forEach(x => x.remove()) document.querySelectorAll(".filters-column").forEach((el, index) => { let id = `formFieldId${index}` el.querySelector("select")?.setAttribute("aria-labelledby",id) el.querySelector("span")?.setAttribute("id",id) }) }, false); // Removing empty UL from nav //v1 // const navList = document.querySelector(".nav-main ul"); // if (navList && navList.children.length === 0) { // navList.setAttribute("aria-hidden", "true"); // } // v2 //const navList = document.querySelector(".nav-main ul"); //if (navList && navList.children.length === 0) { // navList.remove(); //} // v3 document.querySelectorAll("ul").forEach(ul => { if (ul.children.length === 0 && ul.attributes.length === 0) { ul.remove(); } }); // Adding .navigation class to .nav-top and .nav-bottom to fix ARIA conformance Do page sections with the same name serve the same purpose? document.querySelectorAll('nav.nav-top, nav.nav-bottom').forEach(nav => { nav.classList.add('navigation'); }); </script> <script> document.addEventListener('DOMContentLoaded', function() { // Zoek alle .video elementen const videoDivs = document.querySelectorAll('.video'); videoDivs.forEach(videoDiv => { // Alleen de .video divs die zichtbaar zijn, krijgen role="region" if (videoDiv.style.display !== 'none') { // Voeg role="region" toe als het nog niet aanwezig is if (!videoDiv.hasAttribute('role')) { videoDiv.setAttribute('role', 'region'); } // Zoek de iframe binnen elke .video div const iframe = videoDiv.querySelector('iframe'); // Controleer of de src van de iframe verwijst naar youtube-nocookie if (iframe && iframe.src.includes('youtube-nocookie.com')) { // Kopieer de aria-label van de div naar de title van het iframe let ariaLabel = videoDiv.getAttribute('aria-label'); // Scrub de ongewenste delen uit de aria-label string ariaLabel = ariaLabel.replace(/Tab om naar de videospeler te gaan van /, '') .replace(/Tab to enter video player of /, ''); // Stel de scrubbed aria-label in als de title van het iframe iframe.setAttribute('title', ariaLabel); } } }); }); </script> <script> document.addEventListener("DOMContentLoaded", function () { setTimeout(function () { const galleries = document.querySelectorAll('.photoGallerySlider ul'); galleries.forEach(gallery => { // Verwijder role="tablist" van de <ul> (slick voegt dit mogelijk toe) gallery.removeAttribute('role'); gallery.setAttribute('aria-live', 'polite'); const updateAriaAttributes = () => { setTimeout(() => { const listItems = gallery.querySelectorAll('li'); listItems.forEach(item => { // Controleer of het item actief is if (item.classList.contains('slick-active')) { item.setAttribute('aria-hidden', 'false'); item.setAttribute('aria-current', 'true'); item.setAttribute('role', 'status'); // Actieve krijgt role="status" } else { item.setAttribute('aria-hidden', 'true'); item.removeAttribute('aria-current'); item.setAttribute('role', 'status'); // Inactieve krijgen role="status" } }); }, 10); // Wacht even zodat Slick klaar is met het wijzigen }; // MutationObserver voor het verwijderen van role="tablist" op de UL const observer = new MutationObserver(() => { if (gallery.getAttribute('role') === 'tablist') { gallery.removeAttribute('role'); } }); observer.observe(gallery, { attributes: true }); // Direct uitvoeren bij laden updateAriaAttributes(); // Opnieuw uitvoeren na elke slide-wissel $(gallery).on('afterChange', function() { updateAriaAttributes(); }); }); }, 250); // Eerste vertraging voor DOM-load en initiële Slick-opmaak }); </script> <script> document.addEventListener('DOMContentLoaded', () => { // Verkrijg de taal van de pagina const lang = document.documentElement.lang; // Standaard tekst voor de knoppen let prevLabelText = 'Vorige'; // Voor 'slick-prev' let nextLabelText = 'Volgende'; // Voor 'slick-next' // Als de taal Engels (VS) is, stel dan 'Previous' en 'Next' in if (lang === 'en-US') { prevLabelText = 'Previous'; nextLabelText = 'Next'; } // Functie om aria-label aan te passen const updateAriaLabels = () => { // Pas aria-label voor de 'slick-prev' knoppen document.querySelectorAll('.gallery .slick-prev').forEach(button => { button.setAttribute('aria-label', prevLabelText); }); // Pas aria-label voor de 'slick-next' knoppen document.querySelectorAll('.gallery .slick-next').forEach(button => { button.setAttribute('aria-label', nextLabelText); }); }; // Initialiseer de MutationObserver om te luisteren naar veranderingen in de DOM const observer = new MutationObserver((mutationsList, observer) => { mutationsList.forEach(mutation => { if (mutation.type === 'childList') { updateAriaLabels(); // Controleer en update aria-label wanneer knoppen worden toegevoegd } }); }); // Start de observer op de .gallery container const gallery = document.querySelector('.gallery'); if (gallery) { observer.observe(gallery, { childList: true, subtree: true }); } // Pas aria-label toe voor knoppen die al bestaan bij de eerste laadtijd updateAriaLabels(); }); </script> <script> document.addEventListener("DOMContentLoaded", function () { // Functie om de accessibility van slides te updaten function updateSlideAccessibility() { document.querySelectorAll('.dynamicHeader-slide').forEach(slide => { const links = slide.querySelectorAll('a'); const hasLinks = links.length > 0; const isHidden = slide.getAttribute('aria-hidden') === 'true'; // Als er linkjes zijn, stel de tabindex in op basis van zichtbaarheid if (hasLinks) { links.forEach(link => { link.setAttribute('tabindex', isHidden ? '-1' : '0'); }); } else { // Laat afbeeldingen met alt="" met rust, tenzij ze expliciet verborgen moeten zijn slide.querySelectorAll('img').forEach(img => { if (isHidden) { img.setAttribute('aria-hidden', 'true'); // Alleen verbergen als de slide niet zichtbaar is } else { img.removeAttribute('aria-hidden'); // Laat de standaardgedrag van de afbeelding intact } }); } }); } // Voeg de juiste listeners toe voor Slick.js na de initiële opzet function attachSlickListeners() { document.querySelectorAll('.dynamicHeader.slick-slider').forEach(carousel => { if (!carousel.dataset.slickObserverAttached && $(carousel).hasClass('slick-initialized') && $(carousel).find('.slick-slide').length > 1) { $(carousel).on('afterChange', updateSlideAccessibility); carousel.dataset.slickObserverAttached = "true"; } }); } // Initialiseer accessibility en voeg listeners toe updateSlideAccessibility(); attachSlickListeners(); // MutationObserver om veranderingen in de slider te detecteren const observer = new MutationObserver(updateSlideAccessibility); document.querySelectorAll('.dynamicHeader').forEach(header => { observer.observe(header, { childList: true, subtree: true }); }); // Zoek de carouselcontainer met de class 'dynamicHeader' var dynamicHeader = document.querySelector('.dynamicHeader'); // Voeg role="banner" toe aan de carouselcontainer als het bestaat if (dynamicHeader) { dynamicHeader.setAttribute('role', 'banner'); } // Zoek alle slides met de class 'dynamicHeader-slide' var dynamicSlides = document.querySelectorAll('.dynamicHeader-slide'); // Voeg role="tabpanel" toe aan elke slide dynamicSlides.forEach(function(slide) { slide.setAttribute('role', 'tabpanel'); // Zoek de .dynamicHeader-slideBlocks binnen elke slide var slideBlocks = slide.querySelector('.dynamicHeader-slideBlocks'); // Voeg role="region" en aria-label toe aan de slideBlocks als ze bestaan if (slideBlocks) { slideBlocks.setAttribute('role', 'region'); slideBlocks.setAttribute('aria-label', 'Slide Content'); // Algemeen label } }); }); </script> <script> document.addEventListener("DOMContentLoaded", () => { // Functie om lege headings om te zetten naar <p> met corresponderende class function convertEmptyHeadings(selector) { document.querySelectorAll(selector).forEach(header => { if (!header.textContent.trim()) { const p = document.createElement("p"); p.className = header.tagName.toLowerCase(); p.innerHTML = header.innerHTML; // Behoud eventuele whitespace ( ) header.replaceWith(p); } }); } // Uitvoeren voor de verschillende contexten convertEmptyHeadings(".frame-type-text h1, .frame-type-text h2, .frame-type-text h3, .frame-type-text h4, .frame-type-text h5, .frame-type-text h6"); convertEmptyHeadings(".frame-type-header h1, .frame-type-header h2, .frame-type-header h3, .frame-type-header h4, .frame-type-header h5, .frame-type-header h6"); convertEmptyHeadings(".card__content h3"); convertEmptyHeadings(".notice h1, .notice h2, .notice h3, .notice h4, .notice h5, .notice h6"); convertEmptyHeadings(".box.bg-blue_dark h1, .box.bg-blue_dark h2, .box.bg-blue_dark h3, .box.bg-blue_dark h4, .box.bg-blue_dark h5, .box.bg-blue_dark h6"); convertEmptyHeadings(".frame-type-textpic h1, .frame-type-textpic h2, .frame-type-textpic h3, .frame-type-textpic h4, .frame-type-textpic h5, .frame-type-textpic h6"); convertEmptyHeadings(".image h1, .image h2, .image h3, .image h4, .image h5, .image h6"); convertEmptyHeadings(".peoplepages h3"); convertEmptyHeadings(".profileHeader-inner h2"); }); </script> <script> document.addEventListener("DOMContentLoaded", function () { // Selecteer de skiplinks const skiplinks = document.querySelectorAll(".skiplink"); if (skiplinks.length > 0) { // Maak een <nav> element aan const nav = document.createElement("nav"); nav.setAttribute("aria-label", "Skiplinks"); // Verplaats de skiplinks naar de <nav> skiplinks.forEach(link => { nav.appendChild(link); }); // Voeg de <nav> toe aan de body (op de juiste plek) document.body.insertBefore(nav, document.body.firstChild); } }); </script> <script> document.addEventListener("DOMContentLoaded", function () { const svgElement = document.querySelector(".magazine-navigation-logo"); if (svgElement) { // Voeg aria-label toe als het nog niet bestaat if (!svgElement.hasAttribute("aria-label")) { svgElement.setAttribute("aria-label", "E-magazine homepage"); } // Controleer of er al een <title> is, zo niet, voeg toe if (!svgElement.querySelector("title")) { const titleElement = document.createElementNS("http://www.w3.org/2000/svg", "title"); titleElement.textContent = "E-magazine homepage"; svgElement.prepend(titleElement); } } }); // Dit moet uiteindelijk de tekst van het magazine bevatten // </script> <script type="text/javascript"> if (window.require && window.$ && window.isLumesseApplyPage) { $.getScript('/typo3conf/ext/site_tud/Resources/Public/JavaScript/TalentLink.js') };</script> <script> document.addEventListener("DOMContentLoaded", () => { // Functie om de tekstinhoud van de knoppen te verwijderen const removeButtonText = (container) => { const buttons = container.querySelectorAll(".slick-dots button"); buttons.forEach((button) => { button.textContent = ""; // Verwijder de tekstinhoud }); }; // Check en observeer alleen binnen .sliderCentered const observeSlickDots = (container) => { const slickDots = container.querySelector(".slick-dots"); if (!slickDots) return; // MutationObserver instellen const observer = new MutationObserver(() => { removeButtonText(container); // Tekst opnieuw verwijderen bij veranderingen }); // Start observer observer.observe(slickDots, { childList: true, // Observeer toegevoegde/verwijderde knopen subtree: true, // Observeer alle child-elementen attributes: true, // Observeer wijzigingen in attributen }); // Initiale verwijderactie removeButtonText(container); }; // Zoek alle .sliderCentered-containers en start de observer per container document.querySelectorAll(".sliderCentered").forEach((slider) => { observeSlickDots(slider); }); // Fallback met vertraging voor late initiatie van Slick setTimeout(() => { document.querySelectorAll(".sliderCentered").forEach((slider) => { observeSlickDots(slider); }); }, 250); }); </script> <script> document.addEventListener("DOMContentLoaded", () => { const waitForLeafletContainer = () => { const leafletContainer = document.querySelector('.leaflet-container'); if (leafletContainer) { const updateMarkers = () => { document.querySelectorAll('.leaflet-pane.leaflet-marker-pane img.leaflet-marker-icon').forEach((markerIcon) => { const popupContent = markerIcon.closest('.leaflet-container').querySelector('.leaflet-popup-content p'); // Alt-tekst instellen op "Location" als basis let altText = "Location"; if (popupContent) { // Zoeken naar het eerste <strong> element in de popup const firstStrong = popupContent.querySelector('strong'); if (firstStrong) { altText += ' ' + firstStrong.textContent; } } // Stel het alt-attribuut altijd in, ook als er geen sterke tekst is markerIcon.setAttribute('alt', altText); // Maak een uniek ID voor de popup-content als het nog niet bestaat if (popupContent && !popupContent.id) { popupContent.id = `popup-${Math.random().toString(36).substr(2, 9)}`; } // Stel aria-labelledby in op de marker if (popupContent) { markerIcon.setAttribute('aria-labelledby', popupContent.id); } }); }; updateMarkers(); const observer = new MutationObserver(() => { updateMarkers(); }); observer.observe(leafletContainer, { childList: true, subtree: true }); } else { setTimeout(waitForLeafletContainer, 100); } }; waitForLeafletContainer(); }); </script> <script> document.addEventListener("DOMContentLoaded", function () { // Functie voor Scenario 1 (persoon met afbeelding, waar de link een foto bevat) function addAriaToProfileLinks() { let profileLinks = document.querySelectorAll('a.hoverableBlock-imageWrap'); profileLinks.forEach((link) => { // Zoek de afbeelding binnen de link let img = link.querySelector('img'); if (img) { // Haal de alt-tekst van de afbeelding op let altText = img.getAttribute('alt'); // Als er geen alt-tekst is, behandel het als een placeholder if (!altText || altText.trim() === "") { let href = link.getAttribute('href'); let labelText = "Profile link to " + href.split('?')[0].split('/').pop(); // Haal het laatste gedeelte van de URL link.setAttribute('aria-label', labelText); } else { // Als er een alt-tekst is, stel aria-labelledby in naar het id van de afbeelding img.setAttribute('id', 'image-' + Date.now()); // Geef een unieke ID link.setAttribute('aria-labelledby', img.id); } } else { // Als er geen afbeelding is, voeg dan aria-label toe gebaseerd op de href let href = link.getAttribute('href'); let labelText = "Profile link to " + href.split('?')[0].split('/').pop(); // Haal het laatste gedeelte van de URL link.setAttribute('aria-label', labelText); } }); } // Voeg aria-label of aria-labelledby toe voor Scenario 1 addAriaToProfileLinks(); }); </script> <script> document.addEventListener("DOMContentLoaded", function () { let imageDivs = document.querySelectorAll('.image'); let pageLanguage = document.documentElement.lang || 'en-US'; let linkPrefix = (pageLanguage === 'nl-NL') ? 'Link naar ' : 'Link to '; let enlargePrefix = (pageLanguage === 'nl-NL') ? 'Klik om afbeelding te vergroten: ' : 'Click to enlarge the image: '; imageDivs.forEach(function (imageDiv) { let link = imageDiv.querySelector('a[href]'); if (!link) return; // Als er geen link is, niets doen let img = link.querySelector('img'); let altText = img ? img.getAttribute('alt') : ''; // Als er al een aria-label is, overschrijft het niet if (link.hasAttribute('aria-label')) return; let ariaText = link.classList.contains('image-enlarge') ? enlargePrefix + altText : linkPrefix + altText; link.setAttribute('aria-label', ariaText); }); }); </script> <style> .frame-type-text ul li a, .frame-type-sitetud_notification ul li a { display: contents; min-height: 28px; } .contenttable a {display: contents; min-height: 28px;} .nav-inpage {line-height:1.67rem;} </style> <script> document.addEventListener('DOMContentLoaded', function () { // Functie om aria-hidden en tabindex correct in te stellen function updateSliderAccessibility() { const slides = document.querySelectorAll('.photoGalleryNavSlider .photoGalleryNavSlider-item'); slides.forEach(slide => { const isCurrent = slide.classList.contains('slick-current'); const isActive = slide.classList.contains('slick-active'); const isCloned = slide.classList.contains('slick-cloned'); // Correcte tabindex en aria-hidden toepassen if (isCurrent) { slide.setAttribute('tabindex', '0'); slide.setAttribute('aria-hidden', 'false'); } else if (isActive) { slide.setAttribute('tabindex', '-1'); slide.setAttribute('aria-hidden', 'true'); } else if (isCloned) { slide.setAttribute('tabindex', '-1'); slide.setAttribute('aria-hidden', 'true'); } else { slide.setAttribute('tabindex', '-1'); slide.setAttribute('aria-hidden', 'true'); } // Voor picture-elementen, stel ook aria-hidden in const picture = slide.querySelector('picture'); if (picture) { picture.setAttribute('aria-hidden', slide.getAttribute('aria-hidden')); } }); } // MutationObserver om te reageren op veranderingen in de slider const observer = new MutationObserver(() => { updateSliderAccessibility(); }); // Start observeren van veranderingen in de slider const slider = document.querySelector('.photoGalleryNavSlider'); if (slider) { observer.observe(slider, { childList: true, // Observeer toevoegingen/verwijderingen van slides subtree: true, // Observeer ook onderliggende elementen }); } // Initialiseer de toegankelijkheid bij DOM-load updateSliderAccessibility(); }); </script> <script> document.addEventListener('DOMContentLoaded', function() { // Zoek alle tr's in de tabel const rows = document.querySelectorAll('tr'); rows.forEach(function(row, index) { // Controleer of de tr geen kinderen heeft met inhoud const hasContent = Array.from(row.children).some(function(cell) { // Kijk of een cellen tekst of ander inhoud heeft return cell.textContent.trim() !== "" || cell.innerHTML.trim() !== ""; }); // Als de rij geen inhoud heeft, markeer deze dan als aria-hidden if (!hasContent) { row.setAttribute('aria-hidden', 'true'); // Markeer de rij als verborgen } }); }); </script> <script> document.addEventListener("DOMContentLoaded", () => { const labels = { "nav-top": "Top navigation", "nav-bottom": "Bottom navigation", "breadcrumb": "Breadcrumb", "nav-tab": "Tab navigation", "nav-aside": "Side navigation", "nav-carousel": "Quick link navigation" }; Object.entries(labels).forEach(([className, label]) => { document.querySelectorAll(`nav.${className}`).forEach(nav => { nav.setAttribute("aria-label", label); }); }); }); </script> <script> document.addEventListener("DOMContentLoaded", () => { // Zoek naar alle .frame-type-lookup_results elementen document.querySelectorAll('.frame-type-lookup_results').forEach(frame => { // Zoek binnen de frame naar elke .row frame.querySelectorAll('.row').forEach(row => { // Controleer of er een aria-labelledby attribuut aanwezig is op de .row const ariaLabelledBy = row.getAttribute('aria-labelledby'); const srLabel = row.querySelector('.show-for-sr'); // Zoek naar de .show-for-sr binnen de .row const contentSlider = row.querySelector('.content-slider'); // Zoek naar de .content-slider binnen de .row // Controleer of alle condities voldaan zijn: if (ariaLabelledBy && srLabel && contentSlider) { // Verwijder aria-labelledby van de .row row.removeAttribute('aria-labelledby'); } }); }); }); </script> <script> document.addEventListener('DOMContentLoaded', function() { // Verwijdert aria-required van inputs binnen labels document.querySelectorAll('.powermail_field label input[aria-required="true"]').forEach(input => { input.removeAttribute('aria-required'); }); // Zorgt ervoor dat verborgen powermail-formuliervelden aria-hidden krijgen document.querySelectorAll('.powermail_form_uid[type="hidden"]').forEach(input => { input.setAttribute('aria-hidden', 'true'); }); }); </script> <script> document.addEventListener("DOMContentLoaded", function () { document.querySelectorAll('.card__contentWrapper').forEach((card, index) => { const video = card.querySelector('.card__video'); const title = card.querySelector('h3'); if (video) { if (title) { // Maak een uniek ID als die nog niet bestaat if (!title.id) { title.id = `card-title-${index}`; } // Koppel de video aan de titel via aria-labelledby video.setAttribute('aria-labelledby', title.id); } else { // Geen h3 gevonden, video is decoratief video.setAttribute('aria-hidden', 'true'); } } }); }); </script> <script> document.addEventListener('DOMContentLoaded', () => { const observer = new MutationObserver(() => { const carouselFrames = document.querySelectorAll('.frame-type-sitetud_carousel'); carouselFrames.forEach(frame => { // Zoek naar buttons die dieper genest zijn binnen de container const buttons = frame.querySelectorAll('button[data-role="none"]'); buttons.forEach(button => { const span = button.querySelector('span'); if (span) { const text = span.textContent.trim(); button.setAttribute('aria-label', text); // Stel aria-label in button.setAttribute('title', text); // Stel title in } }); }); // Stop de observer als alle relevante buttons zijn verwerkt const totalButtons = document.querySelectorAll('.frame-type-sitetud_carousel button[data-role="none"]').length; if (totalButtons > 0) { observer.disconnect(); } }); // Start observer op de hele body observer.observe(document.body, { childList: true, subtree: true }); }); </script> </body> </html>