Your "suggest the following" is still bloated crap. Just leverage selectors off a parent instead of pissing all over the markup with classes for nothing.
As I've said for years now, if the difference between:
.primary-navigation__cta {
and
#mainMenu a {
In your stylesheet is some massive deal-breaker, you might be in the wrong industry. This “hot and trendy” bullshit of using two to ten times the markup needed to do the job is wearing tire. WET code is wet code, be it the mind-numbingly dumbass halfwitted trash like bootcrap or failwind, or outright DUMB — don’t use, mostly borked — garbage like BEM.
I wanted to like BEM, I really did. A consistent naming scheme? I'm usually all in. But what it is used for -- crapping unneccessary code-bloat classes in where they have ZERO reason to even exist? That's just dumbass.
You can probably also kill off that garbage aria role nonsense since it does exactly two things, and Jack left town.
See what I've written on the topic of both BEM and Aria roles.