I think that the "1 day rule" - a unofficial guideline where a user should wait at least a day before accepting an answer - should be an actual suggestion, and not just "unofficial".
This could be done in two ways I can think of:
1. Help Center / Tutorial Page
New users are the ones to most likely accept an answer prematurely. It would work by adding a suggestion in the help center or tutorial: "it is helpful to accept an answer a day after posting because it allows for multiple users (from all time zones) to answer and may provide insights that otherwise might've been lost".
2. A Popup
If an user clicks the accept as answer button, it could popup a message asking for confirmation. There should be a "never show this again" checkbox, though. Something simple like this would work:
acceptButton.addEventListener('click',confirmAccept);
function confirmAccept(){
now = new Date();
if(now.getTime() - postCreationDate.getTime < 24*60*60*100){
acceptPopup.style.display = 'block'
acceptPopup.style.opacity = '0';
acceptAnimation = acceptPopup.animate([{opacity: 0, opacity: 1}],
{ duration: 600, iterations: 1, fill: "forwards" })
acceptAnimation.addEventListener("finish", ()=>{
acceptPopup.style.opacity = '1';
})
}
}
function acceptPopupHide(){
acceptPopup.style.opacity = '1';
acceptAnimation = acceptPopup.animate([{opacity: 1, opacity: 0}],
{ duration: 600, iterations: 1, fill: "forwards" })
acceptAnimation.addEventListener("finish", ()=>{
acceptPopup.style.opacity = '0';
acceptPopup.style.display = 'none';
})
}
acceptPopupConfirm.addEventListener('click', ()=>{
acceptAnswer();
acceptPopupHide();
})
acceptPopupCancel.addEventListener('click', ()=>{
acceptPopupHide();
})