Sorry, maybe the markup structure still needs some modifications. One thing needs to be figured out is that should <aside role="complementary"> be contained within <main role="main">? Or rather, is <aside role="complementary"> a supporting content for the entire document or just for <main role="main">? If it is the latter, then <aside> is fine being within <main>.
The spec doesn't look like it has clearly defined the relationship between <main> and <aside>. Any opinion will be appreciated. Thanks. Kind Regards, Ian Yang