Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pI6K1-0007UY-Nz for pgsql-docs@arkaria.postgresql.org; Wed, 18 Jan 2023 11:09:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pI6K0-0003Na-BW for pgsql-docs@arkaria.postgresql.org; Wed, 18 Jan 2023 11:09:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pI6Jz-0003NH-9V for pgsql-docs@lists.postgresql.org; Wed, 18 Jan 2023 11:09:36 +0000 Received: from new4-smtp.messagingengine.com ([66.111.4.230]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pI6Jr-0001QH-BO for pgsql-docs@lists.postgresql.org; Wed, 18 Jan 2023 11:09:34 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailnew.nyi.internal (Postfix) with ESMTP id B183D581EB0; Wed, 18 Jan 2023 06:09:25 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 18 Jan 2023 06:09:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; t=1674040165; x=1674047365; bh=Y 1loi4KzjNOf6q6DjhYuaX/9enx5LYGtHTGbVu1gyH4=; b=bsOScI1DmoNoMBgJH an/fKoCtx9LNgMp0WPOHssd2dxeddE5iWePiZkpCs02VWwIRIEiudLoZ5331ss/M cHZ3nIGWJ+oNNgP2cixGLzyztJzu+jb8FBhp2Lkb/a0j3WkQ5sGAryAOtP20R1Yw gCn0kUgyXQ7RZxFuGD1y7mxf0NSzmGNq7I+RuXCbnacAwZiCmK809kBJmvuW9DpH N3qV5CeeVIltPQ9iITENzh/db4NRuNp6lXSF5SHyq1lmAkz4Vb7y5OyMXidGiFjz N7i6Dop9fZ4CxLUhU+PNmgx9PiTwK/e98Xa6oMupwtAVv5rptbCtOKQ1Za4S03GY DDiYw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddtkedgvdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvfhfhjggtgfesthekredttdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvg hrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvghrnhepvdeujeevjeeivdevtddt teelhffhgfeutdetgeeiffdukeelueejgeegledtieeinecuffhomhgrihhnpehgohhogh hlvgdrtghomhdpphhoshhtghhrvghsqhhlrdhorhhgnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtse gvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 18 Jan 2023 06:09:24 -0500 (EST) Message-ID: <19d3d58f-c77e-4635-3097-875700fa3d4b@enterprisedb.com> Date: Wed, 18 Jan 2023 12:09:24 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: Adding visual clues that accesskey exists Content-Language: en-US To: Corey Huinker , pgsql-docs@lists.postgresql.org References: From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 13.01.23 23:07, Corey Huinker wrote: > 1. Add static hints to each link, so "Next" becomes "Next [n]". Fairly > simple, but visually clumsy, and it might not actually clue the user > that they need to hit ALT+n, not just "n". This chrome extension is an > example of how it might look > https://chrome.google.com/webstore/detail/display-access-keys/gpicedcgegaokienkdbbcagodgacpbpd?hl=en . The extension itself seems stale if not completely abandoned, but the screenshot gives a good visual representation. > > 2. Add the hint to the hovertext of the link. So, for example on > https://www.postgresql.org/docs/current/libpq-exec.html > the Hovertext > for the "Next" link would become: "34.4 Asynchronous Command Processing > [ALT+n]". This would lead to more accidental discovery, but wouldn't > alter the existing static page appearance. > > 3. Add hotkey that launches an overlay which displays all available > keyboard shortcuts. A common example of this is typing '?' in gmail or > any other google web app. > > 4. Actually implement arrow keys with javascript, but leave the > accesskeys as-is. I'm not a front-end programmer of any great skill, but > it should be easy to capture the keydown event, filter for > ArrowUp/ArrowLeft/ArrowRight, and then either search the DOM for the > anchor with the corresponding accesskey, or rely on element ids > (example: "nav-left", "nav-up", "nav-right") to find the anchor and > invoke a .click() on it. Currently the navigation anchors do not have > IDs, but adding them for this purpose might close us off from a future use. I agree that hot key discoverability could be better, but I don't think this is an issue in the PostgreSQL documentation; it's something the browser should handle. The job of the HTML markup is to declare the key -- then it's up to the browser how to present it. Otherwise, every single web page in the world (well, those with hot keys) would have to repeat this analysis, which seems on the wrong level to me.