Я не хочу вас расстраивать, скорее наоборот, тем более что вы ответили на мой собственный вопрос:)
Не думаю, что контекстное меню браузера доступно обычным скриптом на веб-странице.
Если то, что вы просите, действительно выполнимо, то создатели браузера, возможно, сочтут это ошибкой и устранят это поведение. Кросс-браузер, такое поведение вряд ли будет доступно сегодня.
Почему бы вам не захватить события мыши, и когда мышь находится непосредственно в области элемента ниже, для которого вы хотите отобразить контекстное меню, сдвиньте элемент покрытия ниже, в противном случае вернитесь вверх? *
Это одна возможность, о которой я мог подумать, в основном обнаружение / раскрытие скрытого элемента в зависимости от положения мыши. Как вырезать отверстие в оверлее.
Или почему бы не сделать текстовое поле прозрачным и полностью не наложить его под текстовое поле?
Если технически это не сработает, то, по крайней мере, у вас есть смысл сообщать об ошибках или улучшениях против целевых браузеров.
Кстати, похоже, что контекстное меню действительно работает, если пользователь щелкает правой кнопкой мыши прямо в позиции каретки, так что это может быть еще одна лазейка, которую вы должны рассмотреть.