I’ve seen a number of teams implement essentially the same concept using Cucumber + a set of step definitions that bind to HTTP elements, and I think it’s fundamentally a misguided notion.
Gherkin is a very costly abstraction to include in your testing stack, and its value is only realised when it enables non-technical project stakeholders to participate in feature definition.
As soon as you start mixing HTTP and HTML/CSS primitives into the text of your feature specs you’re rendering them inaccessible to 99% of their non-technical audience and thus voiding their benefit, while sticking yourself with a language that doesn’t support refactoring, abstraction, (non-trivial) data structures etc.