The only way to know whether the terminal supports some capability
(e.g., moving the cursor to the specified location on the screen, or
highlighting text with 256 colors) and to use the said capability is
through terminfo. There is no way around it.
Sure, but that is not necessary for this particular problem. If the user wants to pass something to their own terminal, then just let them. Zsh already lets the user pass in ECMA-48 SGR parameter values directly in both `complist` and prompt expansions. Why not in `region_highlight`? It would be different if there was no standard for this, but there is. I don't see any benefit here to adding two conversation layers (one being Zsh's own `region_highlight` syntax & terminology, the other being `ncurses`) in between. It unnecessarily limits the user's options.
Anyway, what I'm trying to say is that it would be really nice to be able to use the exact same values for `ls`, `region_highlight`, `complist` and prompt expansions, instead of having to do ambiguous and/or incomplete conversions. That is all.