Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible bug report with HTML and MD #964

Closed
CoBC opened this issue Mar 10, 2023 · 1 comment
Closed

Possible bug report with HTML and MD #964

CoBC opened this issue Mar 10, 2023 · 1 comment
Labels
invalid Not a bug or not directly to this project question General questions about the project or usage

Comments

@CoBC
Copy link

CoBC commented Mar 10, 2023

Version(s) affected

2.3.9

Description

Hi,
I have the following code:

<ul style="position:absolute; top:-999px; left:-9999px;">
<li><a href="#listext">Passer directement à la liste des extensions</a></li>
</ul>
<h2 id="toc1">Généralités sur les extensions</h2>
<ul>
<li><details>
<summary><h3>Qu'est-ce qu'une extension ?</h3></summary>
<p>Une extension permet d'ajouter des fonctions, des scripts applicatifs, des <a href="/cat.php?id=3">voix</a> ou des <a href="/braille.php">pilotes Braille</a> à NVDA.<br />
Dans le sous-menu Outils du menu NVDA, un dialogue permet de gérer l'ajout, le retrait, l'activation ou la désactivation des extensions.<br />
Les extensions peuvent être ajoutées à une version installable ou à une version portable de NVDA.<br />
L'installation d'une nouvelle version de NVDA ne supprime pas les extensions déjà installées. Celles-ci restent fonctionnelles dans la mesure où elles sont compatibles avec cette nouvelle version.<br />
Pour en savoir plus sur la gestion des extensions, rendez-vous au <a href="/doc/userGuide.html#toc94">chapitre "Gestionnaire d'extensions" du guide de l'utilisateur NVDA</a>.</p>
</details></li>
<li><details>
<summary><h3>Comment Installer une extension ?</h3></summary>
<p>Pour installer une extension, procédez comme suit :</p>
<ol>
<li>Téléchargez l'extension que vous désirez installer ;</li>
<li>Rendez-vous dans le dossier où vous avez téléchargé votre extension et sélectionnez-la ;</li>
<li>Assurez-vous que NVDA est bien démarré puis pressez Entrée ;</li>
<li>Un dialogue d'avertissement vous demandera de confirmer l'installation. Cliquez sur Oui (ou pressez Alt-O) ;</li>
<li>Dans le cadre d'une mise à jour, une boîte de dialogue vous indiquera la nouvelle version de l'extension que vous êtes sur le point d'installer ;</li>
<li>Après installation de l'extension, NVDA demandera d'être redémarré pour prendre en compte les modifications.</li>
</ol>
<p><b>ATTENTION !</b> Si votre navigateur est Internet Explorer, il peut arriver que l'extension téléchargée se retrouve avec l'extension de fichier .zip au lieu de .nvda-addon.<br />
Dans ce cas, il vous faudra changer l'extension du fichier.<br />
Par exemple, si votre extension a été téléchargée sous le nom "MonExtension.zip", vous devrez remplacer le nom par "MonExtension.nvda-addon" avant de pouvoir l'installer dans NVDA.</p>
</details></li>
<li><details>
<summary><h3>Comment Désinstaller une extension ?</h3></summary>
<p>Pour désinstaller une extension, procédez comme suit :</p>
<ol>
<li>Ouvrez le menu de NVDA, avec la combinaison de touches NVDA N ;</li>
<li>Descendez jusqu'au sous-menu "Outils" et appuyez sur entrée ou flèche droite pour l'ouvrir ;</li>
<li>Trouvez l'élément "Gérer les extensions" et appuyez sur Entrée ;</li>
<li>Le dialogue s'ouvre sur une liste contenant toutes les extensions installées, faites-la défiler jusqu'à trouver l'extension que vous désirez désinstaller ;</li>
<li>Cliquez sur le bouton "Supprimer" (ou pressez Alt-S) ;</li>
<li>Après avoir cliqué sur le bouton, un dialogue d'avertissement vous demandera de confirmer la désinstallation. Cliquez sur Oui (ou pressez Alt-O) ;</li>
<li>Répétez les étapes 5 et 6 jusqu'à ce que toutes les extensions que vous vouliez supprimer le soit ;</li>
<li>Pour finir, Tabulez jusqu'au bouton "Fermer" et appuyez sur Entrée (vous pouvez aussi presser Alt-F). Redémarrez NVDA lorsque demandé.</li>
</ol>
</details></li>
<li><details>
<summary><h3>Comment et pourquoi désactiver une extension ?</h3></summary>
<p>Il peut être utile de désactiver une extension sans obligatoirement la désinstaller.<br />
Ceci est par exemple intéressant pour permettre d'effectuer des tests si NVDA semble dysfonctionner afin de déterminer si l'une des extensions installée est en cause.<br />
Pour désactiver une extension, procédez comme suit :</p>
<ol>
<li>Ouvrez le menu de NVDA, avec la combinaison de touches  NVDA N ;</li>
<li>Descendez jusqu'au sous-menu "Outils" et appuyez sur entrée ou flèche droite pour l'ouvrir ;</li>
<li>Trouvez l'élément "Gérer les extensions" et appuyez sur Entrée ;</li>
<li>Le dialogue s'ouvre sur une liste contenant toutes les extensions installées, faites-la défiler jusqu'à trouver l'extension que vous désirez désactiver ;</li>
<li>Cliquez sur le bouton "Désactiver" (ou pressez Alt-D) ;</li>
<li>Faites ceci jusqu'à ce que vous ayez désactivé toutes les extensions désirées ;</li>
<li>Pour finir, Tabulez jusqu'au bouton "Fermer" et appuyez sur Entrée (vous pouvez aussi presser Alt-F). Redémarrez NVDA lorsque demandé.</li>
</ol>
<p>Notez que pour réactiver une extension précédemment désactivée, il vous suffira de suivre la même procédure, en cliquant sur le bouton "Activer" (ou en pressant Alt-A) au lieu de "Désactiver" à l'étape 5.</p>
</details></li>
<li><details>
<summary><h3>Les différents types d'extension</h3></summary>
<ul>
<li>Applicative : modifie le comportement de NVDA dans une application bien spécifique ;</li>
<li>Globale : modifie le comportement général de NVDA dans tout type de situation ;</li>
<li>Mixt : combine une extension applicative et une extension globale.</li>
</ul>
</details></li>
</ul>
<h2><strong>ATTENTION !</strong></h2>
<p>Les extensions, lorsqu'elles sont téléchargées depuis Internet Explorer, peuvent se retrouver nommées avec l'extension .zip, il vous faut donc les renommer avec l'extension .nvda-addon afin de pouvoir les installer.</p>
<ul style="position:absolute; top:-999px; left:-9999px;">
<li><a href="#toc1">Retourner aux généralités sur les extensions</a></li>
</ul>
<a id="listext"></a>
## Extensions de NVDA
### Amélioration du confort d'utilisation de NVDA
####[Add-on Updater](https://www.nvda-fr.org/article.php?id=48)
Cette extension permet de vérifier, de télécharger et d'appliquer les mises à jour des extensions.

My headings are not converted to HTML. I also tried removing the h3 tags from summary, but the result is the same.
I configured CommonMark as follow:

function convertToMD($text)
{
	$converter = new CommonMarkConverter([
		'html_input' => 'allow',
		'allow_unsafe_links' => true,
		'safe' => false,
	]);
	return $converter->convert($text);
}

And I call convertToMD with previous text.
Can someone help me understand if my code have an issue, or if it's a bug affecting CommonMark?
Thanks a lot.

How to reproduce

Make a text with previous text and call CommonMark to convert it.

@colinodell colinodell added the question General questions about the project or usage label Mar 10, 2023
@colinodell
Copy link
Member

This is expected behavior according to the CommonMark specification. It's easier to explain what's happening here if we shorten your example Markdown input to this:

<ul style="position:absolute; top:-999px; left:-9999px;">
<li><a href="#toc1">Retourner aux généralités sur les extensions</a></li>
</ul>
<a id="listext"></a>
## Extensions de NVDA
### Amélioration du confort d'utilisation de NVDA
####[Add-on Updater](https://www.nvda-fr.org/article.php?id=48)
Cette extension permet de vérifier, de télécharger et d'appliquer les mises à jour des extensions.

The headings are not being converted because you don't have a blank line in between the HTML and the headings. According to the CommonMark spec, this type of HTML block will continue indefinitely until a blank line is found.

You can avoid this by adding a blank line like this:

<ul style="position:absolute; top:-999px; left:-9999px;">
<li><a href="#toc1">Retourner aux généralités sur les extensions</a></li>
</ul>
<a id="listext"></a>

## Extensions de NVDA
### Amélioration du confort d'utilisation de NVDA
####[Add-on Updater](https://www.nvda-fr.org/article.php?id=48)
Cette extension permet de vérifier, de télécharger et d'appliquer les mises à jour des extensions.

You may find it helpful to use the official CommonMark dingus or Babelmark3 to explore how certain Markdown is converted and whether this library deviates from the spec.

@colinodell colinodell closed this as not planned Won't fix, can't repro, duplicate, stale Mar 10, 2023
@colinodell colinodell added the invalid Not a bug or not directly to this project label Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid Not a bug or not directly to this project question General questions about the project or usage
Projects
None yet
Development

No branches or pull requests

2 participants