char8_t is the type, u8 is just a prefix for constants, like u8"xxx";
And it's only in C11++, not C11 AFAIK.
You are right, this is only for string litterals (so read only).But Wikipedia C11 mention the feature, what do you mean by c11++ ? Btw c17 added 0 feature.
u8 exists for string constants, but not character constants.
they're proposing to add u8 as a character constant prefix.